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;