X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=libraries%2Flibldap%2Fgetdn.c;h=4dd2279ee5fd0ab31748b52fb4eca7e39aa5c5cf;hb=70092b38fb23b9141a2b8414fb5a9c5200f3c12d;hp=3b188eb20350c488c2d469f3f348255f216424fc;hpb=b0055400949fac2206c70104659639022e876ee1;p=openldap diff --git a/libraries/libldap/getdn.c b/libraries/libldap/getdn.c index 3b188eb203..4dd2279ee5 100644 --- a/libraries/libldap/getdn.c +++ b/libraries/libldap/getdn.c @@ -90,10 +90,9 @@ ldap_get_dn( LDAP *ld, LDAPMessage *entry ) Debug( LDAP_DEBUG_TRACE, "ldap_get_dn\n", 0, 0, 0 ); #endif - if ( entry == NULL ) { - ld->ld_errno = LDAP_PARAM_ERROR; - return( NULL ); - } + assert( ld != NULL ); + assert( LDAP_VALID(ld) ); + assert( entry != NULL ); tmp = *entry->lm_ber; /* struct copy */ if ( ber_scanf( &tmp, "{a" /*}*/, &dn ) == LBER_ERROR ) { @@ -2878,7 +2877,7 @@ ldap_rdn2bv( LDAPRDN *rdn, struct berval *bv, unsigned flags ) break; default: - return( LDAP_PARAM_ERROR ); + return LDAP_PARAM_ERROR; } bv->bv_val = LDAP_MALLOC( l + 1 ); @@ -3321,10 +3320,10 @@ ldap_X509dn2bv( void *x509_name, struct berval *bv, LDAPDN_rewrite_func *func, X509_NAME_ENTRY *ne; ASN1_OBJECT *obj; ASN1_STRING *str; - char oids[8192], *oidptr = oids, *oidbuf; + char oids[8192], *oidptr = oids, *oidbuf = NULL; void *ptrs[2048]; - int i, j, k, navas, nrdns, rc = LDAP_SUCCESS; - int set = 0; + int i, j, k = 0, navas, nrdns, rc = LDAP_SUCCESS; + int set = -1; size_t dnsize, oidrem = sizeof(oids), oidsize = 0; int csize; @@ -3382,6 +3381,8 @@ ldap_X509dn2bv( void *x509_name, struct berval *bv, LDAPDN_rewrite_func *func, k = 0; set = ne->set; } + newAVA->la_private = NULL; + newAVA->la_flags = LDAP_AVA_STRING; if ( !func ) { int n = OBJ_obj2nid( obj );