]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
fix Invalid read of size 8
authorNoel Power <noel.power@suse.com>
Fri, 15 Apr 2016 11:42:06 +0000 (12:42 +0100)
committerAndreas Schneider <asn@cryptomilk.org>
Mon, 25 Apr 2016 12:01:33 +0000 (14:01 +0200)
running rpc.dsgetinfo.DsGetReplicaInfo results in the following valgrind
trace

==14966== Invalid read of size 8
==14966==    at 0x88B2D5D: dcerpc_binding_handle_call (binding_handle.c:538)
==14966==    by 0x978F33B: dcerpc_drsuapi_DsUnbind_r (ndr_drsuapi_c.c:319)
==14966==    by 0x2E9F19: torture_dsgetinfo_tcase_teardown (dsgetinfo.c:431)
==14966==    by 0x95536EF: internal_torture_run_test (torture.c:452)
==14966==    by 0x9553A4B: torture_run_test_restricted (torture.c:542)
==14966==    by 0x260074: run_matching (smbtorture.c:110)
==14966==    by 0x25FF36: run_matching (smbtorture.c:95)
==14966==    by 0x260195: torture_run_named_tests (smbtorture.c:143)
==14966==    by 0x261E14: main (smbtorture.c:665)
==14966==  Address 0x28 is not stack'd, malloc'd or (recently) free'd
==14966==

Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date(master): Mon Apr 25 14:01:33 CEST 2016 on sn-devel-144

source4/torture/rpc/dsgetinfo.c

index bbe7a3b0ea5f18458ed72a60039acfb81c11d987..00dfc69e208b715766d30233e4f5b02ca577f4b9 100644 (file)
@@ -428,7 +428,10 @@ static bool torture_dsgetinfo_tcase_teardown(struct torture_context *tctx, void
 
        /* Unbing admin handle */
        r.in.bind_handle = &ctx->admin.drsuapi.bind_handle;
-       dcerpc_drsuapi_DsUnbind_r(ctx->admin.drsuapi.drs_handle, ctx, &r);
+       if (ctx->admin.drsuapi.drs_handle) {
+               dcerpc_drsuapi_DsUnbind_r(ctx->admin.drsuapi.drs_handle,
+                                         ctx, &r);
+       }
 
        talloc_free(ctx);