Report information
The Basics
Id:
46739
Status:
resolved
Priority:
Low/Low
Queue:

People
Owner:
Nobody in particular
Cc:
AdminCc:

BugTracker
Version Fixed:
9.9.12, 9.9.12(sub), 9.10.7, 9.10.7(sub), 9.11.3, 9.12.0
Version Found:
9.12.0b2
Versions Affected:
(no value)
Versions Planned:
9.12.0
Priority:
P2 Normal
Severity:
S2 Normal
CVSS Score:
(no value)
CVE ID:
(no value)
Component:
(no value)
Area:
bug

Dates
Created:Thu, 30 Nov 2017 11:40:28 -0500
Updated:Sun, 03 Dec 2017 21:31:22 -0500
Closed:Sun, 03 Dec 2017 21:31:22 -0500



This bug tracker is no longer active.

Please go to our Gitlab to submit issues (both feature requests and bug reports) for active projects maintained by Internet Systems Consortium (ISC).

Due to security and confidentiality requirements, full access is limited to the primary maintainers.

Date: Thu, 30 Nov 2017 16:40:28 +0000
From: ondrej@isc.org
Subject: rndc leaks memory
To: bind9-public@isc.org
When compiled with ASAN and LSAN, the rndc command leaks memory: ================================================================= ==20016==ERROR: LeakSanitizer: detected memory leaks Direct leak of 48 byte(s) in 2 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef955ac3 in isccc_sexpr_cons <<build>>/lib/isccc/sexpr.c:45:10 #2 0x7f78ef950fb0 in createmessage <<build>>/lib/isccc/cc.c:714:10 #3 0x7f78ef950e79 in isccc_cc_createmessage <<build>>/lib/isccc/cc.c:763:10 #4 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #5 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 119 byte(s) in 19 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ebc79389 in __strdup (/lib/x86_64-linux-gnu/libc.so.6+0x80389) Indirect leak of 48 byte(s) in 2 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef955c15 in isccc_sexpr_frombinary <<build>>/lib/isccc/sexpr.c:82:10 #2 0x7f78ef951137 in isccc_cc_defineuint32 <<build>>/lib/isccc/cc.c:927:10 #3 0x7f78ef951137 in createmessage <<build>>/lib/isccc/cc.c:736 #4 0x7f78ef950e79 in isccc_cc_createmessage <<build>>/lib/isccc/cc.c:763:10 #5 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #6 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 48 byte(s) in 2 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef955b71 in isccc_sexpr_fromstring <<build>>/lib/isccc/sexpr.c:64:10 #2 0x7f78ef95103a in createmessage <<build>>/lib/isccc/cc.c:723:6 #3 0x7f78ef950e79 in isccc_cc_createmessage <<build>>/lib/isccc/cc.c:763:10 #4 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #5 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 48 byte(s) in 2 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef955ac3 in isccc_sexpr_cons <<build>>/lib/isccc/sexpr.c:45:10 #2 0x7f78ef95104f in createmessage <<build>>/lib/isccc/cc.c:728:10 #3 0x7f78ef950e79 in isccc_cc_createmessage <<build>>/lib/isccc/cc.c:763:10 #4 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #5 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 48 byte(s) in 2 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef95658c in isccc_sexpr_cons <<build>>/lib/isccc/sexpr.c:45:10 #2 0x7f78ef95658c in isccc_sexpr_addtolist <<build>>/lib/isccc/sexpr.c:240 #3 0x7f78ef951097 in createmessage <<build>>/lib/isccc/cc.c:731:6 #4 0x7f78ef950e79 in isccc_cc_createmessage <<build>>/lib/isccc/cc.c:763:10 #5 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #6 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 48 byte(s) in 2 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef95658c in isccc_sexpr_cons <<build>>/lib/isccc/sexpr.c:45:10 #2 0x7f78ef95658c in isccc_sexpr_addtolist <<build>>/lib/isccc/sexpr.c:240 #3 0x7f78ef94de25 in isccc_alist_definebinary <<build>>/lib/isccc/alist.c:207:7 #4 0x7f78ef9511d2 in isccc_cc_defineuint32 <<build>>/lib/isccc/cc.c:927:10 #5 0x7f78ef9511d2 in createmessage <<build>>/lib/isccc/cc.c:737 #6 0x7f78ef950e79 in isccc_cc_createmessage <<build>>/lib/isccc/cc.c:763:10 #7 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #8 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 48 byte(s) in 2 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef955ac3 in isccc_sexpr_cons <<build>>/lib/isccc/sexpr.c:45:10 #2 0x7f78ef94de25 in isccc_alist_definebinary <<build>>/lib/isccc/alist.c:207:7 #3 0x7f78ef951275 in isccc_cc_defineuint32 <<build>>/lib/isccc/cc.c:927:10 #4 0x7f78ef951275 in createmessage <<build>>/lib/isccc/cc.c:739 #5 0x7f78ef950e79 in isccc_cc_createmessage <<build>>/lib/isccc/cc.c:763:10 #6 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #7 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 48 byte(s) in 2 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef955b71 in isccc_sexpr_fromstring <<build>>/lib/isccc/sexpr.c:64:10 #2 0x7f78ef950fea in createmessage <<build>>/lib/isccc/cc.c:720:10 #3 0x7f78ef950e79 in isccc_cc_createmessage <<build>>/lib/isccc/cc.c:763:10 #4 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #5 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 48 byte(s) in 2 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef955ac3 in isccc_sexpr_cons <<build>>/lib/isccc/sexpr.c:45:10 #2 0x7f78ef95103a in createmessage <<build>>/lib/isccc/cc.c:723:6 #3 0x7f78ef950e79 in isccc_cc_createmessage <<build>>/lib/isccc/cc.c:763:10 #4 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #5 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 48 byte(s) in 2 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef955ac3 in isccc_sexpr_cons <<build>>/lib/isccc/sexpr.c:45:10 #2 0x7f78ef94de25 in isccc_alist_definebinary <<build>>/lib/isccc/alist.c:207:7 #3 0x7f78ef9511d2 in isccc_cc_defineuint32 <<build>>/lib/isccc/cc.c:927:10 #4 0x7f78ef9511d2 in createmessage <<build>>/lib/isccc/cc.c:737 #5 0x7f78ef950e79 in isccc_cc_createmessage <<build>>/lib/isccc/cc.c:763:10 #6 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #7 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 48 byte(s) in 2 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef955b71 in isccc_sexpr_fromstring <<build>>/lib/isccc/sexpr.c:64:10 #2 0x7f78ef950fb0 in createmessage <<build>>/lib/isccc/cc.c:714:10 #3 0x7f78ef950e79 in isccc_cc_createmessage <<build>>/lib/isccc/cc.c:763:10 #4 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #5 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 48 byte(s) in 2 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef955b71 in isccc_sexpr_fromstring <<build>>/lib/isccc/sexpr.c:64:10 #2 0x7f78ef951097 in createmessage <<build>>/lib/isccc/cc.c:731:6 #3 0x7f78ef950e79 in isccc_cc_createmessage <<build>>/lib/isccc/cc.c:763:10 #4 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #5 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 48 byte(s) in 2 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef955ac3 in isccc_sexpr_cons <<build>>/lib/isccc/sexpr.c:45:10 #2 0x7f78ef951097 in createmessage <<build>>/lib/isccc/cc.c:731:6 #3 0x7f78ef950e79 in isccc_cc_createmessage <<build>>/lib/isccc/cc.c:763:10 #4 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #5 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 48 byte(s) in 2 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef95658c in isccc_sexpr_cons <<build>>/lib/isccc/sexpr.c:45:10 #2 0x7f78ef95658c in isccc_sexpr_addtolist <<build>>/lib/isccc/sexpr.c:240 #3 0x7f78ef95103a in createmessage <<build>>/lib/isccc/cc.c:723:6 #4 0x7f78ef950e79 in isccc_cc_createmessage <<build>>/lib/isccc/cc.c:763:10 #5 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #6 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 48 byte(s) in 2 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef955b71 in isccc_sexpr_fromstring <<build>>/lib/isccc/sexpr.c:64:10 #2 0x7f78ef95104f in createmessage <<build>>/lib/isccc/cc.c:728:10 #3 0x7f78ef950e79 in isccc_cc_createmessage <<build>>/lib/isccc/cc.c:763:10 #4 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #5 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 48 byte(s) in 2 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef955b71 in isccc_sexpr_fromstring <<build>>/lib/isccc/sexpr.c:64:10 #2 0x7f78ef94de25 in isccc_alist_definebinary <<build>>/lib/isccc/alist.c:207:7 #3 0x7f78ef951275 in isccc_cc_defineuint32 <<build>>/lib/isccc/cc.c:927:10 #4 0x7f78ef951275 in createmessage <<build>>/lib/isccc/cc.c:739 #5 0x7f78ef950e79 in isccc_cc_createmessage <<build>>/lib/isccc/cc.c:763:10 #6 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #7 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 48 byte(s) in 2 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef955c15 in isccc_sexpr_frombinary <<build>>/lib/isccc/sexpr.c:82:10 #2 0x7f78ef951275 in isccc_cc_defineuint32 <<build>>/lib/isccc/cc.c:927:10 #3 0x7f78ef951275 in createmessage <<build>>/lib/isccc/cc.c:739 #4 0x7f78ef950e79 in isccc_cc_createmessage <<build>>/lib/isccc/cc.c:763:10 #5 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #6 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 48 byte(s) in 2 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef95658c in isccc_sexpr_cons <<build>>/lib/isccc/sexpr.c:45:10 #2 0x7f78ef95658c in isccc_sexpr_addtolist <<build>>/lib/isccc/sexpr.c:240 #3 0x7f78ef94de25 in isccc_alist_definebinary <<build>>/lib/isccc/alist.c:207:7 #4 0x7f78ef951275 in isccc_cc_defineuint32 <<build>>/lib/isccc/cc.c:927:10 #5 0x7f78ef951275 in createmessage <<build>>/lib/isccc/cc.c:739 #6 0x7f78ef950e79 in isccc_cc_createmessage <<build>>/lib/isccc/cc.c:763:10 #7 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #8 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 48 byte(s) in 2 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef955ac3 in isccc_sexpr_cons <<build>>/lib/isccc/sexpr.c:45:10 #2 0x7f78ef950fea in createmessage <<build>>/lib/isccc/cc.c:720:10 #3 0x7f78ef950e79 in isccc_cc_createmessage <<build>>/lib/isccc/cc.c:763:10 #4 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #5 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 48 byte(s) in 2 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef955b71 in isccc_sexpr_fromstring <<build>>/lib/isccc/sexpr.c:64:10 #2 0x7f78ef94de25 in isccc_alist_definebinary <<build>>/lib/isccc/alist.c:207:7 #3 0x7f78ef9511d2 in isccc_cc_defineuint32 <<build>>/lib/isccc/cc.c:927:10 #4 0x7f78ef9511d2 in createmessage <<build>>/lib/isccc/cc.c:737 #5 0x7f78ef950e79 in isccc_cc_createmessage <<build>>/lib/isccc/cc.c:763:10 #6 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #7 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 48 byte(s) in 2 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef955c15 in isccc_sexpr_frombinary <<build>>/lib/isccc/sexpr.c:82:10 #2 0x7f78ef9511d2 in isccc_cc_defineuint32 <<build>>/lib/isccc/cc.c:927:10 #3 0x7f78ef9511d2 in createmessage <<build>>/lib/isccc/cc.c:737 #4 0x7f78ef950e79 in isccc_cc_createmessage <<build>>/lib/isccc/cc.c:763:10 #5 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #6 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 48 byte(s) in 2 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef95658c in isccc_sexpr_cons <<build>>/lib/isccc/sexpr.c:45:10 #2 0x7f78ef95658c in isccc_sexpr_addtolist <<build>>/lib/isccc/sexpr.c:240 #3 0x7f78ef94de25 in isccc_alist_definebinary <<build>>/lib/isccc/alist.c:207:7 #4 0x7f78ef951137 in isccc_cc_defineuint32 <<build>>/lib/isccc/cc.c:927:10 #5 0x7f78ef951137 in createmessage <<build>>/lib/isccc/cc.c:736 #6 0x7f78ef950e79 in isccc_cc_createmessage <<build>>/lib/isccc/cc.c:763:10 #7 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #8 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 48 byte(s) in 2 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef955ac3 in isccc_sexpr_cons <<build>>/lib/isccc/sexpr.c:45:10 #2 0x7f78ef94de25 in isccc_alist_definebinary <<build>>/lib/isccc/alist.c:207:7 #3 0x7f78ef951137 in isccc_cc_defineuint32 <<build>>/lib/isccc/cc.c:927:10 #4 0x7f78ef951137 in createmessage <<build>>/lib/isccc/cc.c:736 #5 0x7f78ef950e79 in isccc_cc_createmessage <<build>>/lib/isccc/cc.c:763:10 #6 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #7 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 48 byte(s) in 2 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef955b71 in isccc_sexpr_fromstring <<build>>/lib/isccc/sexpr.c:64:10 #2 0x7f78ef94de25 in isccc_alist_definebinary <<build>>/lib/isccc/alist.c:207:7 #3 0x7f78ef951137 in isccc_cc_defineuint32 <<build>>/lib/isccc/cc.c:927:10 #4 0x7f78ef951137 in createmessage <<build>>/lib/isccc/cc.c:736 #5 0x7f78ef950e79 in isccc_cc_createmessage <<build>>/lib/isccc/cc.c:763:10 #6 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #7 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 24 byte(s) in 1 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef955c15 in isccc_sexpr_frombinary <<build>>/lib/isccc/sexpr.c:82:10 #2 0x7f78ef951c15 in isccc_cc_definestring <<build>>/lib/isccc/cc.c:913:10 #3 0x4efffe in rndc_recvnonce <<build>>/bin/rndc/./rndc.c:403:6 #4 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #5 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 24 byte(s) in 1 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef955b71 in isccc_sexpr_fromstring <<build>>/lib/isccc/sexpr.c:64:10 #2 0x7f78ef94de25 in isccc_alist_definebinary <<build>>/lib/isccc/alist.c:207:7 #3 0x7f78ef951c15 in isccc_cc_definestring <<build>>/lib/isccc/cc.c:913:10 #4 0x4efffe in rndc_recvnonce <<build>>/bin/rndc/./rndc.c:403:6 #5 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #6 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 24 byte(s) in 1 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef955c15 in isccc_sexpr_frombinary <<build>>/lib/isccc/sexpr.c:82:10 #2 0x7f78ef951c15 in isccc_cc_definestring <<build>>/lib/isccc/cc.c:913:10 #3 0x4ef747 in rndc_connected <<build>>/bin/rndc/./rndc.c:475:6 #4 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #5 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 24 byte(s) in 1 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef955ac3 in isccc_sexpr_cons <<build>>/lib/isccc/sexpr.c:45:10 #2 0x7f78ef94de25 in isccc_alist_definebinary <<build>>/lib/isccc/alist.c:207:7 #3 0x7f78ef951c15 in isccc_cc_definestring <<build>>/lib/isccc/cc.c:913:10 #4 0x4efffe in rndc_recvnonce <<build>>/bin/rndc/./rndc.c:403:6 #5 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #6 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 24 byte(s) in 1 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef95658c in isccc_sexpr_cons <<build>>/lib/isccc/sexpr.c:45:10 #2 0x7f78ef95658c in isccc_sexpr_addtolist <<build>>/lib/isccc/sexpr.c:240 #3 0x7f78ef94de25 in isccc_alist_definebinary <<build>>/lib/isccc/alist.c:207:7 #4 0x7f78ef951c15 in isccc_cc_definestring <<build>>/lib/isccc/cc.c:913:10 #5 0x4efffe in rndc_recvnonce <<build>>/bin/rndc/./rndc.c:403:6 #6 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #7 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 24 byte(s) in 1 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef955c15 in isccc_sexpr_frombinary <<build>>/lib/isccc/sexpr.c:82:10 #2 0x7f78ef95237b in isccc_cc_defineuint32 <<build>>/lib/isccc/cc.c:927:10 #3 0x4f0068 in rndc_recvnonce <<build>>/bin/rndc/./rndc.c:409:7 #4 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #5 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 24 byte(s) in 1 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef955b71 in isccc_sexpr_fromstring <<build>>/lib/isccc/sexpr.c:64:10 #2 0x7f78ef94de25 in isccc_alist_definebinary <<build>>/lib/isccc/alist.c:207:7 #3 0x7f78ef951c15 in isccc_cc_definestring <<build>>/lib/isccc/cc.c:913:10 #4 0x4ef747 in rndc_connected <<build>>/bin/rndc/./rndc.c:475:6 #5 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #6 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 24 byte(s) in 1 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef95658c in isccc_sexpr_cons <<build>>/lib/isccc/sexpr.c:45:10 #2 0x7f78ef95658c in isccc_sexpr_addtolist <<build>>/lib/isccc/sexpr.c:240 #3 0x7f78ef94de25 in isccc_alist_definebinary <<build>>/lib/isccc/alist.c:207:7 #4 0x7f78ef951c15 in isccc_cc_definestring <<build>>/lib/isccc/cc.c:913:10 #5 0x4ef747 in rndc_connected <<build>>/bin/rndc/./rndc.c:475:6 #6 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #7 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 24 byte(s) in 1 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef955b71 in isccc_sexpr_fromstring <<build>>/lib/isccc/sexpr.c:64:10 #2 0x7f78ef94de25 in isccc_alist_definebinary <<build>>/lib/isccc/alist.c:207:7 #3 0x7f78ef95237b in isccc_cc_defineuint32 <<build>>/lib/isccc/cc.c:927:10 #4 0x4f0068 in rndc_recvnonce <<build>>/bin/rndc/./rndc.c:409:7 #5 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #6 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 24 byte(s) in 1 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef955ac3 in isccc_sexpr_cons <<build>>/lib/isccc/sexpr.c:45:10 #2 0x7f78ef94de25 in isccc_alist_definebinary <<build>>/lib/isccc/alist.c:207:7 #3 0x7f78ef951c15 in isccc_cc_definestring <<build>>/lib/isccc/cc.c:913:10 #4 0x4ef747 in rndc_connected <<build>>/bin/rndc/./rndc.c:475:6 #5 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #6 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 24 byte(s) in 1 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef955ac3 in isccc_sexpr_cons <<build>>/lib/isccc/sexpr.c:45:10 #2 0x7f78ef94de25 in isccc_alist_definebinary <<build>>/lib/isccc/alist.c:207:7 #3 0x7f78ef95237b in isccc_cc_defineuint32 <<build>>/lib/isccc/cc.c:927:10 #4 0x4f0068 in rndc_recvnonce <<build>>/bin/rndc/./rndc.c:409:7 #5 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #6 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 24 byte(s) in 1 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef95658c in isccc_sexpr_cons <<build>>/lib/isccc/sexpr.c:45:10 #2 0x7f78ef95658c in isccc_sexpr_addtolist <<build>>/lib/isccc/sexpr.c:240 #3 0x7f78ef94de25 in isccc_alist_definebinary <<build>>/lib/isccc/alist.c:207:7 #4 0x7f78ef95237b in isccc_cc_defineuint32 <<build>>/lib/isccc/cc.c:927:10 #5 0x4f0068 in rndc_recvnonce <<build>>/bin/rndc/./rndc.c:409:7 #6 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #7 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 22 byte(s) in 2 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef955c7c in isccc_sexpr_frombinary <<build>>/lib/isccc/sexpr.c:94:34 #2 0x7f78ef951137 in isccc_cc_defineuint32 <<build>>/lib/isccc/cc.c:927:10 #3 0x7f78ef951137 in createmessage <<build>>/lib/isccc/cc.c:736 #4 0x7f78ef950e79 in isccc_cc_createmessage <<build>>/lib/isccc/cc.c:763:10 #5 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #6 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 22 byte(s) in 2 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef955c7c in isccc_sexpr_frombinary <<build>>/lib/isccc/sexpr.c:94:34 #2 0x7f78ef9511d2 in isccc_cc_defineuint32 <<build>>/lib/isccc/cc.c:927:10 #3 0x7f78ef9511d2 in createmessage <<build>>/lib/isccc/cc.c:737 #4 0x7f78ef950e79 in isccc_cc_createmessage <<build>>/lib/isccc/cc.c:763:10 #5 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #6 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 22 byte(s) in 2 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef955c7c in isccc_sexpr_frombinary <<build>>/lib/isccc/sexpr.c:94:34 #2 0x7f78ef951275 in isccc_cc_defineuint32 <<build>>/lib/isccc/cc.c:927:10 #3 0x7f78ef951275 in createmessage <<build>>/lib/isccc/cc.c:739 #4 0x7f78ef950e79 in isccc_cc_createmessage <<build>>/lib/isccc/cc.c:763:10 #5 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #6 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 11 byte(s) in 1 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef955c7c in isccc_sexpr_frombinary <<build>>/lib/isccc/sexpr.c:94:34 #2 0x7f78ef95237b in isccc_cc_defineuint32 <<build>>/lib/isccc/cc.c:927:10 #3 0x4f0068 in rndc_recvnonce <<build>>/bin/rndc/./rndc.c:409:7 #4 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #5 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 7 byte(s) in 1 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef955c7c in isccc_sexpr_frombinary <<build>>/lib/isccc/sexpr.c:94:34 #2 0x7f78ef951c15 in isccc_cc_definestring <<build>>/lib/isccc/cc.c:913:10 #3 0x4efffe in rndc_recvnonce <<build>>/bin/rndc/./rndc.c:403:6 #4 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #5 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 Indirect leak of 5 byte(s) in 1 object(s) allocated from: #0 0x4bb708 in __interceptor_malloc (<<build>>/bin/rndc/.libs/rndc+0x4bb708) #1 0x7f78ef955c7c in isccc_sexpr_frombinary <<build>>/lib/isccc/sexpr.c:94:34 #2 0x7f78ef951c15 in isccc_cc_definestring <<build>>/lib/isccc/cc.c:913:10 #3 0x4ef747 in rndc_connected <<build>>/bin/rndc/./rndc.c:475:6 #4 0x7f78eebbab70 in dispatch <<build>>/lib/isc/task.c:1138:7 #5 0x7f78eebbab70 in run <<build>>/lib/isc/task.c:1310 SUMMARY: AddressSanitizer: 1648 byte(s) leaked in 88 allocation(s). As rndc is one shot command, it's nothing critical, but: a) it increases the tests log b) it might indicate some underlying problem so let's get this fixed for 9.12.0
Subject: leaks.log

Message body not shown because it is not plain text.

To: "Ondrej Sury via RT" <bind9-public@isc.org>
CC:
Date: Thu, 30 Nov 2017 20:00:05 +0000
Subject: Re: [ISC-Bugs #46739] rndc leaks memory
From: "Evan Hunt" <each@isc.org>
> As rndc is one shot command, it's nothing critical, but: > > a) it increases the tests log > b) it might indicate some underlying problem > > so let's get this fixed for 9.12.0 Let's definitely fix it, but not for 9.12.0. It's not a regression, it's going to take signficant work in libisccc, and we're supposed to be code-freezing the release candidate today.
I suspect this will be as simple as this. diff --git a/bin/rndc/rndc.c b/bin/rndc/rndc.c index 84f3efbf57..98f51762cc 100644 --- a/bin/rndc/rndc.c +++ b/bin/rndc/rndc.c @@ -433,6 +433,7 @@ rndc_recvnonce(isc_task_t *task, isc_event_t *event) { isc_event_free(&event); isccc_sexpr_free(&response); + isccc_sexpr_free(&request); return; } @@ -498,6 +499,7 @@ rndc_connected(isc_task_t *task, isc_event_t *event) { NULL)); sends++; isc_event_free(&event); + isccc_sexpr_free(&request); } static void
On Fri Dec 01 03:15:47 2017, marka wrote: > I suspect this will be as simple as this. > > diff --git a/bin/rndc/rndc.c b/bin/rndc/rndc.c > index 84f3efbf57..98f51762cc 100644 > --- a/bin/rndc/rndc.c > +++ b/bin/rndc/rndc.c > @@ -433,6 +433,7 @@ rndc_recvnonce(isc_task_t *task, isc_event_t *event) { > > isc_event_free(&event); > isccc_sexpr_free(&response); > + isccc_sexpr_free(&request); > return; > } > > @@ -498,6 +499,7 @@ rndc_connected(isc_task_t *task, isc_event_t *event) { > NULL)); > sends++; > isc_event_free(&event); > + isccc_sexpr_free(&request); > } > > static void Reviewed, tested and merged to master and 9.11
CC:
From: "Evan Hunt" <each@isc.org>
To: "Ondrej Sury via RT" <bind9-public@isc.org>
Subject: Re: [ISC-Bugs #46739] rndc leaks memory
Date: Fri, 1 Dec 2017 19:27:05 +0000
> Reviewed, tested and merged to master and 9.11 Is this all of it? It looked like there were a lot more memory leaks than just the requests from the report you posted.
On Fri Dec 01 19:27:07 2017, each@isc.org wrote: > > Reviewed, tested and merged to master and 9.11 > > Is this all of it? It looked like there were a lot more memory > leaks than just the requests from the report you posted. LSAN hasn't detected any other leaks, so I guess this is it.
Date: Sat, 2 Dec 2017 08:52:19 +1100
Subject: Re: [ISC-Bugs #46739] rndc leaks memory
To: bind9-public@isc.org
From: "Mark Andrews" <marka@isc.org>
On 2 Dec 2017, at 06:27, Evan Hunt via RT <bind9-public@isc.org> wrote: >> Reviewed, tested and merged to master and 9.11 > > Is this all of it? It looked like there were a lot more memory > leaks than just the requests from the report you posted. When you have message with lots of individually allocated components hanging off it doing a recursive cleanup of the message cleans up all the components. If you looked at any of the leaks it was the caller that was failing to clean up. Then looking at the caller of the caller etc. It was just a matter of finding the callers that didn’t clean up.
No CHANGES. Fix minor memory leak in rndc [RT #46739]