1*4882a593SmuzhiyunFrom 7c3b1dfb174312594d3317c24ed71c60398f653f Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Ramon Fried <ramon@neureality.ai> 3*4882a593SmuzhiyunDate: Wed, 10 Feb 2021 04:23:36 +0200 4*4882a593SmuzhiyunSubject: [PATCH] parser: Fix SIGSEGV caused by using flb_free instead of 5*4882a593Smuzhiyun mk_mem_free 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunUpstream-Status: Backport (fix only for 1.3.5) 8*4882a593SmuzhiyunSigned-off-by: Ramon Fried <ramon@neureality.ai> 9*4882a593Smuzhiyun--- 10*4882a593Smuzhiyun src/flb_parser.c | 28 ++++++++++++++-------------- 11*4882a593Smuzhiyun 1 file changed, 14 insertions(+), 14 deletions(-) 12*4882a593Smuzhiyun 13*4882a593Smuzhiyundiff --git a/src/flb_parser.c b/src/flb_parser.c 14*4882a593Smuzhiyunindex d35c568..7c20e12 100644 15*4882a593Smuzhiyun--- a/src/flb_parser.c 16*4882a593Smuzhiyun+++ b/src/flb_parser.c 17*4882a593Smuzhiyun@@ -490,7 +490,7 @@ int flb_parser_conf_file(const char *file, struct flb_config *config) 18*4882a593Smuzhiyun MK_RCONF_STR); 19*4882a593Smuzhiyun if (str) { 20*4882a593Smuzhiyun time_keep = flb_utils_bool(str); 21*4882a593Smuzhiyun- flb_free(str); 22*4882a593Smuzhiyun+ mk_mem_free(str); 23*4882a593Smuzhiyun } 24*4882a593Smuzhiyun else { 25*4882a593Smuzhiyun time_keep = FLB_FALSE; 26*4882a593Smuzhiyun@@ -522,23 +522,23 @@ int flb_parser_conf_file(const char *file, struct flb_config *config) 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun flb_debug("[parser] new parser registered: %s", name); 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun- flb_free(name); 31*4882a593Smuzhiyun- flb_free(format); 32*4882a593Smuzhiyun+ mk_mem_free(name); 33*4882a593Smuzhiyun+ mk_mem_free(format); 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun if (regex) { 36*4882a593Smuzhiyun- flb_free(regex); 37*4882a593Smuzhiyun+ mk_mem_free(regex); 38*4882a593Smuzhiyun } 39*4882a593Smuzhiyun if (time_fmt) { 40*4882a593Smuzhiyun- flb_free(time_fmt); 41*4882a593Smuzhiyun+ mk_mem_free(time_fmt); 42*4882a593Smuzhiyun } 43*4882a593Smuzhiyun if (time_key) { 44*4882a593Smuzhiyun- flb_free(time_key); 45*4882a593Smuzhiyun+ mk_mem_free(time_key); 46*4882a593Smuzhiyun } 47*4882a593Smuzhiyun if (time_offset) { 48*4882a593Smuzhiyun- flb_free(time_offset); 49*4882a593Smuzhiyun+ mk_mem_free(time_offset); 50*4882a593Smuzhiyun } 51*4882a593Smuzhiyun if (types_str) { 52*4882a593Smuzhiyun- flb_free(types_str); 53*4882a593Smuzhiyun+ mk_mem_free(types_str); 54*4882a593Smuzhiyun } 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun decoders = NULL; 57*4882a593Smuzhiyun@@ -548,19 +548,19 @@ int flb_parser_conf_file(const char *file, struct flb_config *config) 58*4882a593Smuzhiyun return 0; 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun fconf_error: 61*4882a593Smuzhiyun- flb_free(name); 62*4882a593Smuzhiyun- flb_free(format); 63*4882a593Smuzhiyun+ mk_mem_free(name); 64*4882a593Smuzhiyun+ mk_mem_free(format); 65*4882a593Smuzhiyun if (regex) { 66*4882a593Smuzhiyun- flb_free(regex); 67*4882a593Smuzhiyun+ mk_mem_free(regex); 68*4882a593Smuzhiyun } 69*4882a593Smuzhiyun if (time_fmt) { 70*4882a593Smuzhiyun- flb_free(time_fmt); 71*4882a593Smuzhiyun+ mk_mem_free(time_fmt); 72*4882a593Smuzhiyun } 73*4882a593Smuzhiyun if (time_key) { 74*4882a593Smuzhiyun- flb_free(time_key); 75*4882a593Smuzhiyun+ mk_mem_free(time_key); 76*4882a593Smuzhiyun } 77*4882a593Smuzhiyun if (types_str) { 78*4882a593Smuzhiyun- flb_free(types_str); 79*4882a593Smuzhiyun+ mk_mem_free(types_str); 80*4882a593Smuzhiyun } 81*4882a593Smuzhiyun if (decoders) { 82*4882a593Smuzhiyun flb_parser_decoder_list_destroy(decoders); 83