]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-sql/operational.c
should address ITS#3861
[openldap] / servers / slapd / back-sql / operational.c
index 72f73017a152e42fbf6c99a3f264b70c287afee1..e0f4af3b1ada65e903f2832bc064bf70d82b0cb6 100644 (file)
@@ -180,7 +180,7 @@ backsql_operational(
                        && !got[ BACKSQL_OP_ENTRYUUID ]
                        && attr_find( rs->sr_entry->e_attrs, slap_schema.si_ad_entryUUID ) == NULL )
        {
-               backsql_srch_info       bsi;
+               backsql_srch_info       bsi = { 0 };
 
                rc = backsql_init_search( &bsi, &rs->sr_entry->e_nname,
                                LDAP_SCOPE_BASE,
@@ -196,7 +196,11 @@ backsql_operational(
 
                *ap = backsql_operational_entryUUID( bi, &bsi.bsi_base_id );
 
-               (void)backsql_free_entryID( &bsi.bsi_base_id, 0 );
+               (void)backsql_free_entryID( op, &bsi.bsi_base_id, 0 );
+
+               if ( bsi.bsi_attrs != NULL ) {
+                       op->o_tmpfree( bsi.bsi_attrs, op->o_tmpmemctx );
+               }
 
                if ( *ap == NULL ) {
                        Debug( LDAP_DEBUG_TRACE, "backsql_operational(): "