summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
authorChristian Ambach <ambi@samba.org>2014-11-04 23:47:26 +0100
committerKarolin Seeger <kseeger@samba.org>2014-12-18 20:50:08 +0100
commitd95c2d2d4b5f9505b8b64720748bd76e095794ff (patch)
tree69396342bae07d7199f43a8d365b0e4e0028a325 /source3
parenta3d2970d58401035ff09bd31c36ed5d69e02b140 (diff)
downloadsamba-d95c2d2d4b5f9505b8b64720748bd76e095794ff.tar.gz
s3:registry/regfio read SD from the correct location
try to find the security descriptor at the data pointer, not at the beginning of the hbin Bug: https://bugzilla.samba.org/show_bug.cgi?id=9629 Signed-off-by: Christian Ambach <ambi@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org> (cherry picked from commit 217a0189c15761f6c7b24c9d7bfdbccf85de8e1d)
Diffstat (limited to 'source3')
-rw-r--r--source3/registry/regfio.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/source3/registry/regfio.c b/source3/registry/regfio.c
index fe800948c2..b32bf0314d 100644
--- a/source3/registry/regfio.c
+++ b/source3/registry/regfio.c
@@ -768,8 +768,10 @@ static bool hbin_prs_sk_rec( const char *desc, REGF_HBIN *hbin, int depth, REGF_
if (!prs_copy_data_in(&hbin->ps, (const char *)blob.data, blob.length))
return False;
} else {
- blob = data_blob_const(prs_data_p(&hbin->ps),
- prs_data_size(&hbin->ps));
+ blob = data_blob_const(
+ prs_data_p(&hbin->ps) + prs_offset(&hbin->ps),
+ prs_data_size(&hbin->ps) - prs_offset(&hbin->ps)
+ );
status = unmarshall_sec_desc(mem_ctx,
blob.data, blob.length,
&sk->sec_desc);