Skip to content

Commit

Permalink
erts: fix memoryleak in erlc.c
Browse files Browse the repository at this point in the history
  • Loading branch information
frazze-jobb committed Oct 28, 2024
1 parent d40fd24 commit e65eed2
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions erts/etc/common/erlc.c
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,9 @@ int main(int argc, char** argv)
{
char* full_path_emulator = find_executable(emulator);
set_env("ERLC_CONFIGURATION", full_path_emulator);
if (full_path_emulator != emulator) {
free(full_path_emulator);
}
}
#endif

Expand All @@ -276,6 +279,9 @@ int main(int argc, char** argv)
eargv = eargv_base;
eargc = 0;
PUSH(strsave(emulator));
if (emulator != env) {
free(emulator);
}
eargc_base = eargc;
eargv = eargv + eargv_size/2;
eargc = 0;
Expand Down Expand Up @@ -1053,7 +1059,7 @@ get_default_emulator(char* progname)
char* s;

if (strlen(progname) >= sizeof(sbuf))
return ERL_NAME;
return strsave(ERL_NAME);

strcpy(sbuf, progname);
for (s = sbuf+strlen(sbuf); s >= sbuf; s--) {
Expand All @@ -1064,7 +1070,7 @@ get_default_emulator(char* progname)
break;
}
}
return ERL_NAME;
return strsave(ERL_NAME);
}


Expand Down

0 comments on commit e65eed2

Please sign in to comment.