From: Howard Chu Date: Fri, 26 Aug 2011 20:29:20 +0000 (-0700) Subject: Plug memleak X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c71cbfb659ceffdaa6c8f29ba9054d08c13c9c6e;p=thirdparty%2Fopenldap.git Plug memleak --- diff --git a/servers/slapd/back-mdb/modify.c b/servers/slapd/back-mdb/modify.c index 4340853889..ab6c28bb06 100644 --- a/servers/slapd/back-mdb/modify.c +++ b/servers/slapd/back-mdb/modify.c @@ -608,6 +608,8 @@ txnReturn: } } + /* Only free attrs if they were dup'd. */ + if ( dummy.e_attrs == e->e_attrs ) dummy.e_attrs = NULL; if( moi == &opinfo ) { LDAP_SLIST_REMOVE( &op->o_extra, &opinfo.moi_oe, OpExtra, oe_next ); opinfo.moi_oe.oe_key = NULL; @@ -615,12 +617,8 @@ txnReturn: mdb_txn_abort( txn ); rs->sr_err = LDAP_X_NO_OPERATION; txn = NULL; - /* Only free attrs if they were dup'd. */ - if ( dummy.e_attrs == e->e_attrs ) dummy.e_attrs = NULL; goto return_results; } else { - dummy.e_attrs = NULL; - rs->sr_err = mdb_txn_commit( txn ); txn = NULL; }