From bdb69624717bedcebd3e16e35f3c5ece367c3a1c Mon Sep 17 00:00:00 2001 From: Mark Reynolds Date: Apr 21 2014 17:02:45 +0000 Subject: Ticket 47771 - Move parentsdn initialization to avoid crash Bug Description: It's possible to call slapi_sdn_done() before parentsdn is initialized - which will crash the server. Fix Description: Initialize parentsdn at the top of the function. https://fedorahosted.org/389/ticket/47771 Reviewed by: nhosoi(Thanks!) (cherry picked from commit 991984f1544c096d46a54ed3117542e8c5f3d70c) --- diff --git a/ldap/servers/slapd/back-ldbm/ldbm_delete.c b/ldap/servers/slapd/back-ldbm/ldbm_delete.c index 678580c..ea9473e 100644 --- a/ldap/servers/slapd/back-ldbm/ldbm_delete.c +++ b/ldap/servers/slapd/back-ldbm/ldbm_delete.c @@ -108,6 +108,7 @@ ldbm_back_delete( Slapi_PBlock *pb ) slapi_pblock_get( pb, SLAPI_IS_REPLICATED_OPERATION, &is_replicated_operation ); slapi_sdn_init(&nscpEntrySDN); + slapi_sdn_init(&parentsdn); /* dblayer_txn_init needs to be called before "goto error_return" */ dblayer_txn_init(li,&txn); @@ -444,7 +445,6 @@ ldbm_back_delete( Slapi_PBlock *pb ) * seems to deadlock the database when dblayer_txn_begin is * called. */ - slapi_sdn_init(&parentsdn); slapi_sdn_get_backend_parent_ext(sdnp, &parentsdn, pb->pb_backend, is_tombstone_entry); if ( !slapi_sdn_isempty(&parentsdn) ) {