Patch: str2entry() dereferences NULL (ITS#1822) Sorry, last patch was wrong. I didn't notice that e->e_dn always is NULL at that point. Here is a corrected patch. diff -u2 servers/slapd/entry.c~ servers/slapd/entry.c --- servers/slapd/entry.c~ 2002/05/15 18:55:43 +++ servers/slapd/entry.c 2002/05/16 08:46:59 @@ -130,20 +130,19 @@ rc = dnPrettyNormal( NULL, &vals[0], &e->e_name, &e->e_nname ); - free( vals[0].bv_val ); if( rc != LDAP_SUCCESS ) { #ifdef NEW_LOGGING LDAP_LOG(( "operation", LDAP_LEVEL_DETAIL1, "str2entry: " "entry %ld has invalid DN \"%s\"\n", - (long) e->e_id, - e->e_dn ? e->e_dn : "" )); + (long) e->e_id, vals[0].bv_val )); #else Debug( LDAP_DEBUG_ANY, "str2entry: " "entry %ld has invalid DN \"%s\"\n", - (long) e->e_id, - e->e_dn ? e->e_dn : "", 0 ); + (long) e->e_id, vals[0].bv_val, 0 ); #endif entry_free( e ); + free( vals[0].bv_val ); return NULL; } + free( vals[0].bv_val ); continue; }