svn commit: samba r9578 - in branches/SAMBA_4_0/source/torture/rpc: .

tridge at samba.org tridge at samba.org
Wed Aug 24 11:42:46 GMT 2005


Author: tridge
Date: 2005-08-24 11:42:46 +0000 (Wed, 24 Aug 2005)
New Revision: 9578

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

Log:
fixed an endless loop and memory leak in the QueryMultipleValues test

Modified:
   branches/SAMBA_4_0/source/torture/rpc/winreg.c


Changeset:
Modified: branches/SAMBA_4_0/source/torture/rpc/winreg.c
===================================================================
--- branches/SAMBA_4_0/source/torture/rpc/winreg.c	2005-08-24 11:33:26 UTC (rev 9577)
+++ branches/SAMBA_4_0/source/torture/rpc/winreg.c	2005-08-24 11:42:46 UTC (rev 9578)
@@ -456,6 +456,7 @@
 {
 	struct winreg_QueryMultipleValues r;
 	NTSTATUS status;
+	uint32_t bufsize=0;
 
 	printf("Testing QueryMultipleValues\n");
 
@@ -469,9 +470,9 @@
 
 	r.in.num_values = 1;
 	r.in.buffer_size = r.out.buffer_size = talloc(mem_ctx, uint32_t);
-	*r.in.buffer_size = 0x00;
+	*r.in.buffer_size = bufsize;
 	do { 
-		*r.in.buffer_size += 0x20;
+		*r.in.buffer_size = bufsize;
 		r.in.buffer = r.out.buffer = talloc_zero_array(mem_ctx, uint8_t, 
 							       *r.in.buffer_size);
 
@@ -481,7 +482,8 @@
 			printf("QueryMultipleValues failed - %s\n", nt_errstr(status));
 			return False;
 		}
-
+		talloc_free(r.in.buffer);
+		bufsize += 0x20;
 	} while (W_ERROR_EQUAL(r.out.result, WERR_MORE_DATA));
 
 	if (!W_ERROR_IS_OK(r.out.result)) {



More information about the samba-cvs mailing list