[SCM] Samba Shared Repository - branch master updated

Stefan Metzmacher metze at samba.org
Fri Feb 19 00:18:40 MST 2010


The branch, master has been updated
       via  76aa37f... librpc/ndr: don't overwrite the content in ndr_push_relative_ptr2_end()
      from  809dd8c... s4:selftest Add test for the RPC proxy

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 76aa37f653fec2d511921768381db7da661750cb
Author: Stefan Metzmacher <metze at samba.org>
Date:   Fri Feb 19 08:11:24 2010 +0100

    librpc/ndr: don't overwrite the content in ndr_push_relative_ptr2_end()
    
    metze

-----------------------------------------------------------------------

Summary of changes:
 librpc/ndr/ndr.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/librpc/ndr/ndr.c b/librpc/ndr/ndr.c
index b6110d5..4d763e0 100644
--- a/librpc/ndr/ndr.c
+++ b/librpc/ndr/ndr.c
@@ -1253,11 +1253,17 @@ _PUBLIC_ enum ndr_err_code ndr_push_relative_ptr2_end(struct ndr_push *ndr, cons
 	}
 
 	if (len > 0) {
+		uint32_t clear_size = correct_offset - begin_offset;
+
+		clear_size = MIN(clear_size, len);
+
 		/* now move the marshalled buffer to the end of the main buffer */
 		memmove(ndr->data + correct_offset, ndr->data + begin_offset, len);
 
-		/* and wipe out old buffer within the main buffer */
-		memset(ndr->data + begin_offset, '\0', len);
+		if (clear_size) {
+			/* and wipe out old buffer within the main buffer */
+			memset(ndr->data + begin_offset, '\0', clear_size);
+		}
 	}
 
 	/* and set the end offset for the next buffer */


-- 
Samba Shared Repository


More information about the samba-cvs mailing list