From b69fda16c15d48550ab897377e7f6440e333ee7c Mon Sep 17 00:00:00 2001 From: Mats Erik Andersson Date: Mon, 22 Nov 2010 15:55:16 +0100 Subject: [PATCH 2/3] inetd: Registration of services with multiple nodes. --- ChangeLog | 7 +++++++ src/inetd.c | 5 ++++- 2 files changed, 11 insertions(+), 1 deletions(-) diff --git a/ChangeLog b/ChangeLog index 05b7e56..bf7ab0b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 2010-11-22 Mats Erik Andersson + Resolve a double free issue. Leads to segmentation faults. + + * src/inetd.c (nextconfig): Do not use `freeconfig' unconditionally. + Condition on SERV_NODE, which needs partial memory deallocation. + +2010-11-22 Mats Erik Andersson + Partially revert changes introduced in fd64a202. * src/inetd.c (nextconfig): Call `enter' for TCPMUX services, diff --git a/src/inetd.c b/src/inetd.c index 1af29d4..c3cec04 100644 --- a/src/inetd.c +++ b/src/inetd.c @@ -1168,7 +1168,10 @@ nextconfig (const char *file) else expand_enter (sep); - freeconfig (sep); + if (serv_node) + free (sep->se_node); + else + freeconfig (sep); } endconfig (fconfig); /* -- 1.7.2.3