From 35037a00457c80d61b136510a362b36c7a5f90c0 Mon Sep 17 00:00:00 2001 From: Daniel-Constantin Mierla Date: Mon, 30 Jan 2017 17:40:38 +0100 Subject: [PATCH] jsonrpcs: close file for nice cleanup if fifo server fails to be initialized --- src/modules/jsonrpcs/jsonrpcs_fifo.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/modules/jsonrpcs/jsonrpcs_fifo.c b/src/modules/jsonrpcs/jsonrpcs_fifo.c index e3993283f8e..c44a55c2361 100644 --- a/src/modules/jsonrpcs/jsonrpcs_fifo.c +++ b/src/modules/jsonrpcs/jsonrpcs_fifo.c @@ -181,21 +181,25 @@ FILE *jsonrpc_init_fifo_server(char *fifo_name, int fifo_mode, jsonrpc_fifo_write=open(fifo_name, O_WRONLY|O_NONBLOCK, 0); if (jsonrpc_fifo_write<0) { LM_ERR("fifo_write did not open: %s\n", strerror(errno)); + fclose(fifo_stream); return 0; } /* set read fifo blocking mode */ if ((opt=fcntl(jsonrpc_fifo_read, F_GETFL))==-1){ LM_ERR("fcntl(F_GETFL) failed: %s [%d]\n", strerror(errno), errno); + fclose(fifo_stream); return 0; } if (fcntl(jsonrpc_fifo_read, F_SETFL, opt & (~O_NONBLOCK))==-1){ LM_ERR("cntl(F_SETFL) failed: %s [%d]\n", strerror(errno), errno); + fclose(fifo_stream); return 0; } jsonrpc_reply_fifo_s = pkg_malloc(JSONRPC_MAX_FILENAME); if (jsonrpc_reply_fifo_s==NULL) { LM_ERR("no more private memory\n"); + fclose(fifo_stream); return 0; }