svn commit: samba r22562 - in branches/SAMBA_3_0_25/source/smbd: .

jra at samba.org jra at samba.org
Sat Apr 28 20:56:33 GMT 2007


Author: jra
Date: 2007-04-28 20:56:32 +0000 (Sat, 28 Apr 2007)
New Revision: 22562

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

Log:
Qucik fix for session memory leak (vl's talloc
fix is probably better in the long run). Jerry - your
call whether this makes 3.0.25 or not.
Jeremy.

Modified:
   branches/SAMBA_3_0_25/source/smbd/lanman.c


Changeset:
Modified: branches/SAMBA_3_0_25/source/smbd/lanman.c
===================================================================
--- branches/SAMBA_3_0_25/source/smbd/lanman.c	2007-04-28 18:16:33 UTC (rev 22561)
+++ branches/SAMBA_3_0_25/source/smbd/lanman.c	2007-04-28 20:56:32 UTC (rev 22562)
@@ -4189,7 +4189,7 @@
 	char *p = skip_string(param,tpscnt,str2);
 	int uLevel;
 	struct pack_desc desc;
-	struct sessionid *session_list;
+	struct sessionid *session_list = NULL;
 	int i, num_sessions;
 
 	if (!str1 || !str2 || !p) {
@@ -4217,6 +4217,7 @@
 	if (mdrcnt > 0) {
 		*rdata = SMB_REALLOC_LIMIT(*rdata,mdrcnt);
 		if (!*rdata) {
+			SAFE_FREE(session_list);
 			return False;
 		}
 	}
@@ -4225,6 +4226,7 @@
 	desc.buflen = mdrcnt;
 	desc.format = str2;
 	if (!init_package(&desc,num_sessions,0)) {
+		SAFE_FREE(session_list);
 		return False;
 	}
 
@@ -4245,6 +4247,7 @@
 	*rparam_len = 8;
 	*rparam = SMB_REALLOC_LIMIT(*rparam,*rparam_len);
 	if (!*rparam) {
+		SAFE_FREE(session_list);
 		return False;
 	}
 	SSVALS(*rparam,0,desc.errcode);
@@ -4253,6 +4256,7 @@
 
 	DEBUG(4,("RNetSessionEnum: errorcode %d\n",desc.errcode));
 
+	SAFE_FREE(session_list);
 	return True;
 }
 



More information about the samba-cvs mailing list