summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKjell Winblad <kjellwinblad@gmail.com>2021-03-16 15:25:11 +0100
committerKjell Winblad <kjellwinblad@gmail.com>2021-04-06 11:14:52 +0200
commit48759a7338c59c8cc1aa635e6bb9dcd513d92593 (patch)
tree2f51603af7312353ce7b3e40a3f59c8bb42f48e0
parent1d60851354180bbb5bcf2a5d4fefa9483fc46d8b (diff)
downloaderlang-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.c8
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);
}