From 48759a7338c59c8cc1aa635e6bb9dcd513d92593 Mon Sep 17 00:00:00 2001 From: Kjell Winblad Date: Tue, 16 Mar 2021 15:25:11 +0100 Subject: erl_call: Fix code_checker potential leak warning for hostname_port_arg --- lib/erl_interface/src/prog/erl_call.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/erl_interface/src/prog/erl_call.c b/lib/erl_interface/src/prog/erl_call.c index 0b7848d2d9..08e17bb5c6 100644 --- a/lib/erl_interface/src/prog/erl_call.c +++ b/lib/erl_interface/src/prog/erl_call.c @@ -196,6 +196,8 @@ int main(int argc, char *argv[]) char* address_string_end = strchr(hostname_port_arg, ':'); if (address_string_end == NULL) { flags.port = strtol(hostname_port_arg, NULL, 10); + free(hostname_port_arg); + hostname_port_arg = NULL; } else { flags.port = strtol(address_string_end + 1, NULL, 10); /* Remove port part from hostname_port_arg*/ @@ -206,6 +208,9 @@ int main(int argc, char *argv[]) } if (flags.port < 1 || flags.port > 65535) { + if (hostname_port_arg != NULL) { + free(hostname_port_arg); + } usage_error(progname, "-address"); } i++; @@ -1138,5 +1143,8 @@ void exit_free_flags_fields(int exit_status, struct call_flags* flags) { if (flags->apply != NULL) { free(flags->apply); } + if (flags->hostname != NULL) { + free(flags->hostname); + } exit(exit_status); } -- cgit v1.2.1