Author: jra
Date: 2006-03-08 07:18:18 +0000 (Wed, 08 Mar 2006)
New Revision: 14028

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=14028

Log:
Fix resource leak in error codepath. Coverity CID #64.
Jeremy.

Modified:
   trunk/source/tdb/tdb.c


Changeset:
Modified: trunk/source/tdb/tdb.c
===================================================================
--- trunk/source/tdb/tdb.c      2006-03-08 07:13:29 UTC (rev 14027)
+++ trunk/source/tdb/tdb.c      2006-03-08 07:18:18 UTC (rev 14028)
@@ -1458,10 +1458,14 @@
                                            rec.key_len))
                    || memcmp(k, oldkey.dptr, oldkey.dsize) != 0) {
                        /* No, it wasn't: unlock it and start from scratch */
-                       if (unlock_record(tdb, tdb->travlocks.off) != 0)
+                       if (unlock_record(tdb, tdb->travlocks.off) != 0) {
+                               SAFE_FREE(k);
                                return tdb_null;
-                       if (tdb_unlock(tdb, tdb->travlocks.hash, F_WRLCK) != 0)
+                       }
+                       if (tdb_unlock(tdb, tdb->travlocks.hash, F_WRLCK) != 0) 
{
+                               SAFE_FREE(k);
                                return tdb_null;
+                       }
                        tdb->travlocks.off = 0;
                }
 

Reply via email to