diff options
author | Samuel Cabrero <scabrero@samba.org> | 2020-03-27 19:52:26 +0100 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2020-04-01 10:28:43 +0000 |
commit | 2558c15beb094ea6b6804b1db0a3f231738815e1 (patch) | |
tree | 0eb631e6086389285ad2d8b585141fa49bff807e /.gitlab-ci.yml | |
parent | 9f9b80c79a207d8d6d4ad3cdc671e23ec8392c67 (diff) | |
download | samba-2558c15beb094ea6b6804b1db0a3f231738815e1.tar.gz |
s3:rpc_server: Fix talloc_free() with references error on server exit
Fixes talloc_free() with references when smbd exists and talloc_free the
global dcesrv context:
ERROR: talloc_free with references at ../../source3/rpc_server/rpc_config.c:73
reference at ../../source3/rpc_server/rpc_server.c:193
reference at ../../source3/rpc_server/rpc_server.c:592
...
The talloc_reference to make the dcerpc_ncacn_listen_state a parent of
the dcesrv context is not necessary as the listen state is allocated
under the endpoint, which is allocated under the dcesrv context:
full talloc report on 'struct dcesrv_context' (total 12298 bytes in 188 blocks)
...
struct dcesrv_endpoint contains 691 bytes in 11 blocks (ref 0) 0x55ae964d79a0
struct dcerpc_ncacn_listen_state contains 160 bytes in 2 blocks (ref 0) 0x55ae964fca60
struct tevent_fd contains 104 bytes in 1 blocks (ref 0) 0x55ae964f36f0
struct dcesrv_if_list contains 128 bytes in 2 blocks (ref 0) 0x55ae964e8a40
../../librpc/rpc/dcesrv_core.c:360 contains 104 bytes in 1 blocks (ref 0) 0x55ae964e8ac0
struct dcesrv_if_list contains 128 bytes in 2 blocks (ref 0) 0x55ae964e8870
../../librpc/rpc/dcesrv_core.c:327 contains 104 bytes in 1 blocks (ref 0) 0x55ae964e8970
struct dcerpc_binding contains 108 bytes in 2 blocks (ref 0) 0x55ae964e87a0
\pipe\lsass contains 12 bytes in 1 blocks (ref 0) 0x55ae964e88f0
struct dcerpc_binding contains 111 bytes in 2 blocks (ref 0) 0x55ae964e86d0
\pipe\netlogon contains 15 bytes in 1 blocks (ref 0) 0x55ae964e8650
...
struct dcesrv_endpoint contains 1728 bytes in 27 blocks (ref 0) 0x55ae964e0db0
struct dcerpc_ncacn_listen_state contains 160 bytes in 2 blocks (ref 0) 0x55ae964fd540
struct tevent_fd contains 104 bytes in 1 blocks (ref 0) 0x55ae964f3890
struct dcesrv_if_list contains 128 bytes in 2 blocks (ref 0) 0x55ae964fbd70
../../librpc/rpc/dcesrv_core.c:360 contains 104 bytes in 1 blocks (ref 0) 0x55ae964f67a0
struct dcesrv_if_list contains 128 bytes in 2 blocks (ref 0) 0x55ae964fff60
../../librpc/rpc/dcesrv_core.c:360 contains 104 bytes in 1 blocks (ref 0) 0x55ae964f66c0
struct dcesrv_if_list contains 128 bytes in 2 blocks (ref 0) 0x55ae964eb8b0
../../librpc/rpc/dcesrv_core.c:360 contains 104 bytes in 1 blocks (ref 0) 0x55ae964eba00
struct dcesrv_if_list contains 128 bytes in 2 blocks (ref 0) 0x55ae964eb200
../../librpc/rpc/dcesrv_core.c:360 contains 104 bytes in 1 blocks (ref 0) 0x55ae964eb350
struct dcesrv_if_list contains 128 bytes in 2 blocks (ref 0) 0x55ae964eab70
../../librpc/rpc/dcesrv_core.c:360 contains 104 bytes in 1 blocks (ref 0) 0x55ae964eabf0
struct dcesrv_if_list contains 128 bytes in 2 blocks (ref 0) 0x55ae964ea360
../../librpc/rpc/dcesrv_core.c:360 contains 104 bytes in 1 blocks (ref 0) 0x55ae964ea4b0
struct dcesrv_if_list contains 128 bytes in 2 blocks (ref 0) 0x55ae964e9cb0
../../librpc/rpc/dcesrv_core.c:360 contains 104 bytes in 1 blocks (ref 0) 0x55ae964e9e00
struct dcesrv_if_list contains 128 bytes in 2 blocks (ref 0) 0x55ae964e96a0
../../librpc/rpc/dcesrv_core.c:360 contains 104 bytes in 1 blocks (ref 0) 0x55ae964e97f0
struct dcesrv_if_list contains 128 bytes in 2 blocks (ref 0) 0x55ae964e8430
../../librpc/rpc/dcesrv_core.c:360 contains 104 bytes in 1 blocks (ref 0) 0x55ae964e8580
struct dcesrv_if_list contains 128 bytes in 2 blocks (ref 0) 0x55ae964e6250
../../librpc/rpc/dcesrv_core.c:360 contains 104 bytes in 1 blocks (ref 0) 0x55ae964e8070
struct dcesrv_if_list contains 128 bytes in 2 blocks (ref 0) 0x55ae964e7e50
../../librpc/rpc/dcesrv_core.c:327 contains 104 bytes in 1 blocks (ref 0) 0x55ae964e7fa0
struct dcerpc_binding contains 104 bytes in 2 blocks (ref 0) 0x55ae964e7ed0
DEFAULT contains 8 bytes in 1 blocks (ref 0) 0x55ae964eaa10
....
Signed-off-by: Samuel Cabrero <scabrero@samba.org>
Reviewed-by: Andrew Bartlet <abartlet@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date(master): Wed Apr 1 10:28:43 UTC 2020 on sn-devel-184
Diffstat (limited to '.gitlab-ci.yml')
0 files changed, 0 insertions, 0 deletions