diff options
author | Kjell Winblad <kjellwinblad@gmail.com> | 2021-03-16 15:25:11 +0100 |
---|---|---|
committer | Kjell Winblad <kjellwinblad@gmail.com> | 2021-04-06 11:14:52 +0200 |
commit | 48759a7338c59c8cc1aa635e6bb9dcd513d92593 (patch) | |
tree | 2f51603af7312353ce7b3e40a3f59c8bb42f48e0 | |
parent | 1d60851354180bbb5bcf2a5d4fefa9483fc46d8b (diff) | |
download | erlang-48759a7338c59c8cc1aa635e6bb9dcd513d92593.tar.gz |
erl_call: Fix code_checker potential leak warning for hostname_port_arg
-rw-r--r-- | lib/erl_interface/src/prog/erl_call.c | 8 |
1 files changed, 8 insertions, 0 deletions
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); } |