From 1451c67ff37f321bf380b02f532dcf45f2dbc4d6 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Mon, 4 Jul 2005 17:04:36 +0000 Subject: r8154: - fix some mem_leals - check if the buffer length of the original and created buffer are equal metze (This used to be commit 84ff2d87e28df3e2b3c1495a9ea48f40221b96ae) --- source4/torture/auth/pac.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'source4/torture/auth/pac.c') diff --git a/source4/torture/auth/pac.c b/source4/torture/auth/pac.c index 51f33781fa..ebf876c651 100644 --- a/source4/torture/auth/pac.c +++ b/source4/torture/auth/pac.c @@ -251,6 +251,7 @@ static BOOL torture_pac_saved_check(void) (ndr_pull_flags_fn_t)ndr_pull_PAC_DATA); if (!NT_STATUS_IS_OK(nt_status)) { DEBUG(0,("can't parse the PAC\n")); + talloc_free(mem_ctx); return False; } @@ -258,11 +259,24 @@ static BOOL torture_pac_saved_check(void) (ndr_push_flags_fn_t)ndr_push_PAC_DATA); if (!NT_STATUS_IS_OK(nt_status)) { DEBUG(0, ("PAC push failed: %s\n", nt_errstr(nt_status))); + talloc_free(mem_ctx); return False; } /* dump_data(0,validate_blob.data,validate_blob.length); */ + /* all we can check is the length of the buffers, + * to check that the alignment and padding is ok, + * we can't compare the bytes, because we use a different algorithm + * to create the pointer values + */ + if (tmp_blob.length != validate_blob.length) { + DEBUG(0, ("PAC push failed orignial buffer length[%u] != created buffer length[%u]\n", + tmp_blob.length, validate_blob.length)); + talloc_free(mem_ctx); + return False; + } + talloc_free(mem_ctx); return True; } -- cgit