summaryrefslogtreecommitdiff
path: root/erts/etc/common/erlc.c
diff options
context:
space:
mode:
Diffstat (limited to 'erts/etc/common/erlc.c')
-rw-r--r--erts/etc/common/erlc.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/erts/etc/common/erlc.c b/erts/etc/common/erlc.c
index 523ead86ed..6b00a1f48f 100644
--- a/erts/etc/common/erlc.c
+++ b/erts/etc/common/erlc.c
@@ -892,6 +892,8 @@ find_executable(char* progname)
struct stat s;
if (stat(real_name, &s) == 0 && s.st_mode & S_IFREG) {
return real_name;
+ } else {
+ free(real_name);
}
}
} while (*path++ == ':');
@@ -908,7 +910,11 @@ safe_realpath(char* file)
* Solaris.
*/
char* real_name = emalloc(PATH_MAX + 1);
- return realpath(file, real_name);
+ char* result = realpath(file, real_name);
+ if (result != real_name) {
+ free(real_name);
+ }
+ return result;
}
#endif