summaryrefslogtreecommitdiff
path: root/common/array.h
diff options
context:
space:
mode:
authorDaiki Ueno <dueno@redhat.com>2016-09-22 09:16:48 +0200
committerDaiki Ueno <ueno@gnu.org>2016-10-31 12:59:17 +0100
commitecaf79c6a0b35e55b27f465c6d6628f165874b78 (patch)
treef494d2515d0b4ba2b5ff230adc87aaa0806482bf /common/array.h
parentae0527969dbb2dea5bf97257c92a65b72ba71db5 (diff)
modules: Reset the init count on fork()
Reset mod->init_count when forkid has changed. Otherwise C_Finalize does not get called. GCC's asan spotted this: Direct leak of 48 byte(s) in 1 object(s) allocated from: #0 0x7f89bc7bfe20 in malloc (/lib64/libasan.so.3+0xc6e20) #1 0x7f89bc47a1f1 in p11_dict_new ../common/dict.c:278 #2 0x7f89bc42143d in managed_C_Initialize ../p11-kit/modules.c:1477 #3 0x7f89bc464c72 in binding_C_Initialize ../p11-kit/virtual.c:121 #4 0x7f89bc1b0a51 in ffi_closure_unix64_inner (/lib64/libffi.so.6+0x5a51) #5 0x7f89bc1b0dbf in ffi_closure_unix64 (/lib64/libffi.so.6+0x5dbf) #6 0x7f89bc44f9e8 in rpc_C_Initialize ../p11-kit/rpc-server.c:691
Diffstat (limited to 'common/array.h')
0 files changed, 0 insertions, 0 deletions