Author: idra
Date: 2007-02-22 21:59:54 +0000 (Thu, 22 Feb 2007)
New Revision: 21508

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

Log:

Fix memleak in new idmap_tdb, thanks Herb.

Jerry please check.

Simo.


Modified:
   branches/SAMBA_3_0/source/nsswitch/idmap_tdb.c
   branches/SAMBA_3_0_25/source/nsswitch/idmap_tdb.c


Changeset:
Modified: branches/SAMBA_3_0/source/nsswitch/idmap_tdb.c
===================================================================
--- branches/SAMBA_3_0/source/nsswitch/idmap_tdb.c      2007-02-22 20:52:27 UTC 
(rev 21507)
+++ branches/SAMBA_3_0/source/nsswitch/idmap_tdb.c      2007-02-22 21:59:54 UTC 
(rev 21508)
@@ -1049,19 +1049,11 @@
 
        /* Delete previous mappings. */
        
-       data = tdb_fetch(ctx->tdb, ksid);
-       if (data.dptr) {
-               DEBUG(10, ("Deleting existing mapping %s -> %s\n", ksid.dptr, 
kid.dptr ));
-               tdb_delete(ctx->tdb, ksid);
-               SAFE_FREE(data.dptr);
-       }
+       DEBUG(10, ("Deleting existing mapping %s -> %s\n", ksid.dptr, kid.dptr 
));
+       tdb_delete(ctx->tdb, ksid);
 
-       data = tdb_fetch(ctx->tdb, kid);
-       if (data.dptr) {
-               DEBUG(10,("Deleting existing mapping %s -> %s\n", kid.dptr, 
ksid.dptr ));
-               tdb_delete(ctx->tdb, kid);
-               SAFE_FREE(data.dptr);
-       }
+       DEBUG(10,("Deleting existing mapping %s -> %s\n", kid.dptr, ksid.dptr 
));
+       tdb_delete(ctx->tdb, kid);
 
        tdb_chainunlock(ctx->tdb, ksid);
        ret = NT_STATUS_OK;

Modified: branches/SAMBA_3_0_25/source/nsswitch/idmap_tdb.c
===================================================================
--- branches/SAMBA_3_0_25/source/nsswitch/idmap_tdb.c   2007-02-22 20:52:27 UTC 
(rev 21507)
+++ branches/SAMBA_3_0_25/source/nsswitch/idmap_tdb.c   2007-02-22 21:59:54 UTC 
(rev 21508)
@@ -1049,19 +1049,11 @@
 
        /* Delete previous mappings. */
        
-       data = tdb_fetch(ctx->tdb, ksid);
-       if (data.dptr) {
-               DEBUG(10, ("Deleting existing mapping %s -> %s\n", ksid.dptr, 
kid.dptr ));
-               tdb_delete(ctx->tdb, ksid);
-               SAFE_FREE(data.dptr);
-       }
+       DEBUG(10, ("Deleting existing mapping %s -> %s\n", ksid.dptr, kid.dptr 
));
+       tdb_delete(ctx->tdb, ksid);
 
-       data = tdb_fetch(ctx->tdb, kid);
-       if (data.dptr) {
-               DEBUG(10,("Deleting existing mapping %s -> %s\n", kid.dptr, 
ksid.dptr ));
-               tdb_delete(ctx->tdb, kid);
-               SAFE_FREE(data.dptr);
-       }
+       DEBUG(10,("Deleting existing mapping %s -> %s\n", kid.dptr, ksid.dptr 
));
+       tdb_delete(ctx->tdb, kid);
 
        tdb_chainunlock(ctx->tdb, ksid);
        ret = NT_STATUS_OK;

Reply via email to