From: Ralf Haferkamp Date: Tue, 29 Jun 2004 14:52:03 +0000 (+0000) Subject: TS#3213: free copy of e_attrs before retrying the transaction in bdb_modify() X-Git-Tag: OPENDLAP_REL_ENG_2_2_MP~155 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=498530fc4c6d4cc696683acec1d5374db3334062;p=openldap TS#3213: free copy of e_attrs before retrying the transaction in bdb_modify() --- diff --git a/servers/slapd/back-bdb/modify.c b/servers/slapd/back-bdb/modify.c index 3c2d47e044..5855537648 100644 --- a/servers/slapd/back-bdb/modify.c +++ b/servers/slapd/back-bdb/modify.c @@ -615,6 +615,8 @@ retry: /* transaction retry */ switch( rs->sr_err ) { case DB_LOCK_DEADLOCK: case DB_LOCK_NOTGRANTED: + attrs_free( dummy.e_attrs ); + dummy.e_attrs = NULL; goto retry; } goto return_results; @@ -634,6 +636,8 @@ retry: /* transaction retry */ switch( rs->sr_err ) { case DB_LOCK_DEADLOCK: case DB_LOCK_NOTGRANTED: + attrs_free( dummy.e_attrs ); + dummy.e_attrs = NULL; goto retry; } rs->sr_text = "entry update failed"; @@ -653,6 +657,8 @@ retry: /* transaction retry */ case BDB_CSN_ABORT : goto return_results; case BDB_CSN_RETRY : + attrs_free( dummy.e_attrs ); + dummy.e_attrs = NULL; goto retry; } } @@ -688,6 +694,8 @@ retry: /* transaction retry */ switch( rc ) { case DB_LOCK_DEADLOCK: case DB_LOCK_NOTGRANTED: + attrs_free( dummy.e_attrs ); + dummy.e_attrs = NULL; goto retry; }