svn commit: samba r8950 - in branches/SAMBA_3_0/source: rpc_server
smbd
jra at samba.org
jra at samba.org
Tue Aug 2 20:59:20 GMT 2005
Author: jra
Date: 2005-08-02 20:59:20 +0000 (Tue, 02 Aug 2005)
New Revision: 8950
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=8950
Log:
Fix one more mem leak found by Gunther.
Jeremy.
Modified:
branches/SAMBA_3_0/source/rpc_server/srv_dfs_nt.c
branches/SAMBA_3_0/source/smbd/msdfs.c
Changeset:
Modified: branches/SAMBA_3_0/source/rpc_server/srv_dfs_nt.c
===================================================================
--- branches/SAMBA_3_0/source/rpc_server/srv_dfs_nt.c 2005-08-02 20:58:10 UTC (rev 8949)
+++ branches/SAMBA_3_0/source/rpc_server/srv_dfs_nt.c 2005-08-02 20:59:20 UTC (rev 8950)
@@ -319,7 +319,7 @@
struct junction_map jn[MAX_MSDFS_JUNCTIONS];
int num_jn = 0;
- num_jn = enum_msdfs_links(jn, ARRAY_SIZE(jn));
+ num_jn = enum_msdfs_links(p->mem_ctx, jn, ARRAY_SIZE(jn));
vfs_ChDir(p->conn,p->conn->connectpath);
DEBUG(5,("make_reply_dfs_enum: %d junctions found in Dfs, doing level %d\n", num_jn, level));
Modified: branches/SAMBA_3_0/source/smbd/msdfs.c
===================================================================
--- branches/SAMBA_3_0/source/smbd/msdfs.c 2005-08-02 20:58:10 UTC (rev 8949)
+++ branches/SAMBA_3_0/source/smbd/msdfs.c 2005-08-02 20:59:20 UTC (rev 8950)
@@ -948,7 +948,7 @@
return ret;
}
-static int form_junctions(int snum, struct junction_map* jucn, int jn_remain)
+static int form_junctions(TALLOC_CTX *ctx, int snum, struct junction_map* jucn, int jn_remain)
{
int cnt = 0;
DIR *dirp;
@@ -981,7 +981,7 @@
jucn[cnt].volume_name[0] = '\0';
jucn[cnt].referral_count = 1;
- ref = jucn[cnt].referral_list = SMB_MALLOC_P(struct referral);
+ ref = jucn[cnt].referral_list = TALLOC_P(ctx, struct referral);
if (jucn[cnt].referral_list == NULL) {
DEBUG(0, ("Malloc failed!\n"));
goto out;
@@ -1023,7 +1023,7 @@
return cnt;
}
-int enum_msdfs_links(struct junction_map* jucn, int jn_max)
+int enum_msdfs_links(TALLOC_CTX *ctx, struct junction_map* jucn, int jn_max)
{
int i=0;
int jn_count = 0;
@@ -1033,7 +1033,7 @@
for(i=0;i < lp_numservices() && (jn_max - jn_count) > 0;i++) {
if(lp_msdfs_root(i))
- jn_count += form_junctions(i,jucn,jn_max - jn_count);
+ jn_count += form_junctions(ctx, i,jucn,jn_max - jn_count);
}
return jn_count;
}
More information about the samba-cvs
mailing list