ptpd: Solve memory leak for function NTPDCrequest

Solve the memory leak in function NTPDCrequest detected by valgrind tool.

Memory leak log example:
==619== 21 bytes in 1 blocks are still reachable in loss record 1 of 3
==619==    at 0x4A09DB0: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==619==    by 0x43512E: NTPDCrequest (ntpdcontrol.c:255)
==619==    by 0x43512E: NTPDCquery.isra.1 (ntpdcontrol.c:683)
==619==    by 0x4359EE: ntpdInControl (ntpdcontrol.c:807)
==619==    by 0x4364F5: ntpServiceUpdate (timingdomain.c:622)
==619==    by 0x436935: timingDomainUpdate (timingdomain.c:756)
==619==    by 0x4334A7: protocol (protocol.c:263)
==619==    by 0x402BAE: main (ptpd.c:131)

Signed-off-by: Li Zhou <li.zhou@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Li Zhou 2020-11-30 13:19:59 +08:00 committed by Khem Raj
parent 666a8b94a3
commit 885149082b
2 changed files with 41 additions and 0 deletions

View File

@ -0,0 +1,40 @@
From 3886219c5c1fdca114dd480b46ce211762e30742 Mon Sep 17 00:00:00 2001
From: Li Zhou <li.zhou@windriver.com>
Date: Tue, 30 Jun 2020 13:50:11 +0800
Subject: [PATCH] ptpd: Solve memory leak for function NTPDCrequest
Solve the memory leak in function NTPDCrequest detected by valgrind tool.
Memory leak log example:
==619== 21 bytes in 1 blocks are still reachable in loss record 1 of 3
==619== at 0x4A09DB0: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==619== by 0x43512E: NTPDCrequest (ntpdcontrol.c:255)
==619== by 0x43512E: NTPDCquery.isra.1 (ntpdcontrol.c:683)
==619== by 0x4359EE: ntpdInControl (ntpdcontrol.c:807)
==619== by 0x4364F5: ntpServiceUpdate (timingdomain.c:622)
==619== by 0x436935: timingDomainUpdate (timingdomain.c:756)
==619== by 0x4334A7: protocol (protocol.c:263)
==619== by 0x402BAE: main (ptpd.c:131)
Upstream-Status: Pending
Signed-off-by: Li Zhou <li.zhou@windriver.com>
---
src/dep/ntpengine/ntpdcontrol.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/dep/ntpengine/ntpdcontrol.c b/src/dep/ntpengine/ntpdcontrol.c
index bfe0b5e..b1973cb 100644
--- a/src/dep/ntpengine/ntpdcontrol.c
+++ b/src/dep/ntpengine/ntpdcontrol.c
@@ -271,6 +271,7 @@ NTPDCrequest(
if (!auth) {
qpkt.auth_seq = AUTH_SEQ(0, 0);
+ free(key);
return ntpSend(control, (Octet *)&qpkt, req_pkt_size);
}
--
1.9.1

View File

@ -24,6 +24,7 @@ def get_sub(d):
SRC_URI = "http://downloads.sourceforge.net/project/ptpd/ptpd/${@get_sub(d)}/ptpd-${PV}.tar.gz \
file://ptpd-use-pkgconfig.patch \
file://Fixed-100-CPU-using-issue-by-adding-minimum-POSIX-ti.patch \
file://0001-ptpd-Solve-memory-leak-for-function-NTPDCrequest.patch \
file://ptpd.service \
file://ptpd.conf \
"