From c3d14cbfa863ea3af8aaa253f1d7d3909adf1547 Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Fri, 29 Mar 2019 10:40:59 +0100 Subject: cleanup: init status response - rename init_status_response_t to init_status_t - merge code for handling it - fix memory leak in status command Signed-off-by: David Oberhollenzer --- lib/Makemodule.am | 2 +- lib/include/initsock.h | 6 ++++-- lib/init/free_init_status.c | 10 ++++++++++ lib/init/init_socket_recv_status.c | 2 +- 4 files changed, 16 insertions(+), 4 deletions(-) create mode 100644 lib/init/free_init_status.c (limited to 'lib') diff --git a/lib/Makemodule.am b/lib/Makemodule.am index a131463..8dcff06 100644 --- a/lib/Makemodule.am +++ b/lib/Makemodule.am @@ -1,7 +1,7 @@ libinit_a_SOURCES = lib/init/delsvc.c lib/init/svcmap.c lib/init/rdsvc.c libinit_a_SOURCES += lib/init/svcscan.c lib/init/del_svc_list.c libinit_a_SOURCES += lib/init/svc_tsort.c lib/include/service.h -libinit_a_SOURCES += lib/init/init_socket_open.c +libinit_a_SOURCES += lib/init/init_socket_open.c lib/init/free_init_status.c libinit_a_SOURCES += lib/include/initsock.h lib/init/init_socket_send_request.c libinit_a_SOURCES += lib/init/init_socket_recv_status.c libinit_a_CPPFLAGS = $(AM_CPPFLAGS) diff --git a/lib/include/initsock.h b/lib/include/initsock.h index afbf861..04b8ffd 100644 --- a/lib/include/initsock.h +++ b/lib/include/initsock.h @@ -45,12 +45,14 @@ typedef struct { int id; char *filename; char *service_name; -} init_status_response_t; +} init_status_t; int init_socket_open(const char *tmppath); int init_socket_send_request(int fd, E_INIT_REQUEST rq, ...); -int init_socket_recv_status(int fd, init_status_response_t *resp); +int init_socket_recv_status(int fd, init_status_t *resp); + +void free_init_status(init_status_t *resp); #endif /* INITSOCK_H */ diff --git a/lib/init/free_init_status.c b/lib/init/free_init_status.c new file mode 100644 index 0000000..945d407 --- /dev/null +++ b/lib/init/free_init_status.c @@ -0,0 +1,10 @@ +/* SPDX-License-Identifier: ISC */ +#include + +#include "initsock.h" + +void free_init_status(init_status_t *resp) +{ + free(resp->filename); + free(resp->service_name); +} diff --git a/lib/init/init_socket_recv_status.c b/lib/init/init_socket_recv_status.c index b812819..d5ca2e6 100644 --- a/lib/init/init_socket_recv_status.c +++ b/lib/init/init_socket_recv_status.c @@ -61,7 +61,7 @@ static char *read_string(int fd) return buffer; } -int init_socket_recv_status(int fd, init_status_response_t *resp) +int init_socket_recv_status(int fd, init_status_t *resp) { uint8_t info[8]; -- cgit v1.2.3