summaryrefslogtreecommitdiffstats
path: root/source4
diff options
context:
space:
mode:
authorGarming Sam <garming@catalyst.net.nz>2015-02-13 16:55:07 +1300
committerAndrew Bartlett <abartlet@samba.org>2015-02-25 01:08:12 +0100
commit5ca9a4ebe53fd225e2491a4da4635468fef60829 (patch)
tree2d0d9f0e8f5253f0dda5dc6844fde0e7d0072e3d /source4
parent43d3e90418b5e0ac5986e08f9483146f4f5d2357 (diff)
downloadsamba-5ca9a4ebe53fd225e2491a4da4635468fef60829.tar.gz
samba-5ca9a4ebe53fd225e2491a4da4635468fef60829.tar.xz
samba-5ca9a4ebe53fd225e2491a4da4635468fef60829.zip
torture-backupkey: Check the dcerpc call return code before calling ndr pull
Signed-off-by: Garming Sam <garming@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'source4')
-rw-r--r--source4/torture/rpc/backupkey.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/source4/torture/rpc/backupkey.c b/source4/torture/rpc/backupkey.c
index 53caf74e60..1a57bd2c68 100644
--- a/source4/torture/rpc/backupkey.c
+++ b/source4/torture/rpc/backupkey.c
@@ -894,7 +894,6 @@ static bool test_RestoreGUID_v3(struct torture_context *tctx,
static bool test_RestoreGUID(struct torture_context *tctx,
struct dcerpc_pipe *p)
{
- enum ndr_err_code ndr_err;
struct dcerpc_binding_handle *b = p->binding_handle;
DATA_BLOB out_blob;
struct bkrp_client_side_unwrapped resp;
@@ -909,9 +908,12 @@ static bool test_RestoreGUID(struct torture_context *tctx,
torture_assert(tctx, r != NULL, "createRestoreGUIDStruct failed");
torture_assert_ntstatus_ok(tctx, dcerpc_bkrp_BackupKey_r(b, tctx, r), "Restore GUID");
out_blob.length = *r->out.data_out_len;
- ndr_err = ndr_pull_struct_blob(&out_blob, tctx, &resp, (ndr_pull_flags_fn_t)ndr_pull_bkrp_client_side_unwrapped);
- torture_assert_int_equal(tctx, NDR_ERR_CODE_IS_SUCCESS(ndr_err), 1, "Unable to unmarshall bkrp_client_side_unwrapped");
torture_assert_werr_equal(tctx, r->out.result, WERR_OK, "Restore GUID");
+ torture_assert_ndr_err_equal(tctx,
+ ndr_pull_struct_blob(&out_blob, tctx, &resp,
+ (ndr_pull_flags_fn_t)ndr_pull_bkrp_client_side_unwrapped),
+ NDR_ERR_SUCCESS,
+ "Unable to unmarshall bkrp_client_side_unwrapped");
torture_assert_str_equal(tctx, (char*)resp.secret.data, secret, "Wrong secret");
} else {
struct bkrp_BackupKey *r = createRetreiveBackupKeyGUIDStruct(tctx, p, 2, &out_blob);