From be22a44e2ea4b3e23da37c58653453bb9fe13956 Mon Sep 17 00:00:00 2001 From: Quanah Gibson-Mount <quanah@openldap.org> Date: Wed, 17 Oct 2007 04:03:56 +0000 Subject: [PATCH] ITS#5100 ldap_control_dup - OID must be non-NULL --- libraries/libldap/controls.c | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/libraries/libldap/controls.c b/libraries/libldap/controls.c index 059dc5266f..48c29a5473 100644 --- a/libraries/libldap/controls.c +++ b/libraries/libldap/controls.c @@ -337,7 +337,7 @@ ldap_control_dup( const LDAPControl *c ) { LDAPControl *new; - if ( c == NULL ) { + if ( c == NULL || c->ldctl_oid == NULL ) { return NULL; } @@ -347,17 +347,11 @@ ldap_control_dup( const LDAPControl *c ) return NULL; } - if( c->ldctl_oid != NULL ) { - new->ldctl_oid = LDAP_STRDUP( c->ldctl_oid ); + new->ldctl_oid = LDAP_STRDUP( c->ldctl_oid ); - if(new->ldctl_oid == NULL) { - LDAP_FREE( new ); - return NULL; - } - - } else { - /* FIXME: how can a control have null OID? */ - new->ldctl_oid = NULL; + if(new->ldctl_oid == NULL) { + LDAP_FREE( new ); + return NULL; } if( c->ldctl_value.bv_val != NULL ) { -- GitLab