sync 3.0 branch with head
[metze/samba/wip.git] / source3 / rpc_parse / parse_prs.c
index 2ab8c7246e19184ce0e9226edded4010d77e175f..4de6b88e9ccae430cc5752c620e328086cde7a14 100644 (file)
@@ -893,9 +893,11 @@ BOOL prs_buffer2(BOOL charmode, char *name, prs_struct *ps, int depth, BUFFER2 *
                return False;
 
        if (UNMARSHALLING(ps)) {
-               str->buffer = (uint16 *)prs_alloc_mem(ps,str->buf_len);
-               if (str->buffer == NULL)
-                       return False;
+               if ( str->buf_len ) {
+                       str->buffer = (uint16 *)prs_alloc_mem(ps,str->buf_len);
+                       if ( str->buffer == NULL )
+                               return False;
+               }
        }
 
        p = (char *)str->buffer;