Index: rpc_parse/parse_spoolss.c =================================================================== RCS file: /data/cvs/samba/source/rpc_parse/parse_spoolss.c,v retrieving revision 1.155.2.22 diff -u -r1.155.2.22 parse_spoolss.c --- rpc_parse/parse_spoolss.c 25 Sep 2003 21:26:15 -0000 1.155.2.22 +++ rpc_parse/parse_spoolss.c 13 Nov 2003 20:03:23 -0000 @@ -7294,11 +7294,13 @@ if (!prs_unistr("valuename", ps, depth, &ctr->values[i].valuename)) return False; - if (UNMARSHALLING(ps) && ctr->values[i].data_len) { - ctr->values[i].data = (uint8 *)prs_alloc_mem( - ps, ctr->values[i].data_len); - if (!ctr->values[i].data) - return False; + if ( ctr->values[i].data_len ) { + if ( UNMARSHALLING(ps) ) { + ctr->values[i].data = (uint8 *)prs_alloc_mem( + ps, ctr->values[i].data_len); + if (!ctr->values[i].data) + return False; + } if (!prs_uint8s(False, "data", ps, depth, ctr->values[i].data, ctr->values[i].data_len)) return False; }