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)) {

Reply via email to