diff options
author | Andrew Tridgell <tridge@samba.org> | 2000-06-04 23:34:55 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2000-06-04 23:34:55 +0000 |
commit | d48c727c97becb44da15211152fc702e1978622e (patch) | |
tree | 8e669289638b8c6fc224c4239c5894925261698e /source3 | |
parent | 3ca34cc49f41aa2fd7c9d5ecb7264d48b5c2c0a6 (diff) | |
download | samba-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')
-rw-r--r-- | source3/rpc_parse/parse_spoolss.c | 11 |
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); |