r8045: fix valgrind warning, add zero padding when the string doesn't fill the full...
authorStefan Metzmacher <metze@samba.org>
Fri, 1 Jul 2005 08:33:42 +0000 (08:33 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:19:02 +0000 (13:19 -0500)
metze
(This used to be commit d8175b01db69436d8af64b97d7b7beca4ba4b552)

source4/librpc/ndr/ndr_string.c

index 134e4b80592617cb07c34938129eb5659cfb4a6f..008b58dab977df7b7a8cdcfea0ead3b821cd6ed9 100644 (file)
@@ -435,7 +435,11 @@ NTSTATUS ndr_push_string(struct ndr_push *ndr, int ndr_flags, const char *s)
                        return ndr_push_error(ndr, NDR_ERR_CHARCNV, 
                                              "Bad character conversion");
                }
-               ndr->offset += byte_mul*d_len;
+               ndr->offset += ret;
+               if ((byte_mul*d_len) > ret) {
+                       uint32_t _padding_len = (byte_mul*d_len) - ret;
+                       NDR_CHECK(ndr_push_zero(ndr, _padding_len));
+               }
                break;
 
        default: