summaryrefslogtreecommitdiff
path: root/source3/rpc_parse
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2000-06-04 23:34:55 +0000
committerAndrew Tridgell <tridge@samba.org>2000-06-04 23:34:55 +0000
commitd48c727c97becb44da15211152fc702e1978622e (patch)
tree8e669289638b8c6fc224c4239c5894925261698e /source3/rpc_parse
parent3ca34cc49f41aa2fd7c9d5ecb7264d48b5c2c0a6 (diff)
downloadsamba-d48c727c97becb44da15211152fc702e1978622e.tar.gz
samba-d48c727c97becb44da15211152fc702e1978622e.tar.bz2
samba-d48c727c97becb44da15211152fc702e1978622e.zip
no space was being reserved for the security descriptor in the parse
buffer (This used to be commit 417a88fc6a8406ad4244e8cc1317cb7163b07cc0)
Diffstat (limited to 'source3/rpc_parse')
-rw-r--r--source3/rpc_parse/parse_spoolss.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/source3/rpc_parse/parse_spoolss.c b/source3/rpc_parse/parse_spoolss.c
index 55bfd4fe57..34d77f132a 100644
--- a/source3/rpc_parse/parse_spoolss.c
+++ b/source3/rpc_parse/parse_spoolss.c
@@ -1481,11 +1481,16 @@ static BOOL new_smb_io_relsecdesc(char *desc, NEW_BUFFER *buffer, int depth,
if (MARSHALLING(ps)) {
uint32 struct_offset = prs_offset(ps);
uint32 relative_offset;
+
+ if (! *secdesc) {
+ relative_offset = 0;
+ if (!prs_uint32("offset", ps, depth, &relative_offset))
+ return False;
+ return True;
+ }
if (*secdesc != NULL) {
-#if 0 /* JRA */
- buffer->string_at_end -= 256; /* HACK! */
-#endif
+ buffer->string_at_end -= sec_desc_size(*secdesc);
prs_set_offset(ps, buffer->string_at_end);