]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
torture-backupkey: Check the dcerpc call return code before calling ndr pull
authorGarming Sam <garming@catalyst.net.nz>
Fri, 13 Feb 2015 03:55:07 +0000 (16:55 +1300)
committerKarolin Seeger <kseeger@samba.org>
Tue, 3 Mar 2015 21:07:12 +0000 (22:07 +0100)
Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
(cherry picked from commit 5ca9a4ebe53fd225e2491a4da4635468fef60829)

source4/torture/rpc/backupkey.c

index 53caf74e60f965011ef271b8e121ce64de2435e9..1a57bd2c6874217e51c1302d012fd6de0c529371 100644 (file)
@@ -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);