diff options
| author | Peter Drahoš <drahosp@gmail.com> | 2013-12-01 05:02:12 -0800 |
|---|---|---|
| committer | Peter Drahoš <drahosp@gmail.com> | 2013-12-01 05:02:12 -0800 |
| commit | 8264a494b9c0a665150fd6e55891a178fa00551b (patch) | |
| tree | 488cbbfffcca549ab3b71cdb53da3935ce1b7d2a /src | |
| parent | 648171fe28a46edd8ef581243bfb720b23024f54 (diff) | |
| parent | b70b777f37b85a6d4ef72b8e08f2469b4777266d (diff) | |
| download | lua-update.tar.gz | |
fix error and mem leak found by cppcheck
Diffstat (limited to 'src')
| -rw-r--r-- | src/loadlib_rel.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/loadlib_rel.c b/src/loadlib_rel.c index 4c8186d..b3f537b 100644 --- a/src/loadlib_rel.c +++ b/src/loadlib_rel.c @@ -141,7 +141,7 @@ static void setprogdir(lua_State *L) { char progdir[_PATH_MAX + 1]; char *lb; int nsize = sizeof(progdir)/sizeof(char); - int n; + int n = 0; #if defined(__CYGWIN__) char win_buff[_PATH_MAX + 1]; GetModuleFileNameA(NULL, win_buff, nsize); @@ -186,6 +186,7 @@ static void setprogdir(lua_State *L) { sprintf(cmd, "lsof -p %d | awk '{if ($5==\"REG\") { print $9 ; exit}}' 2> /dev/null", pid); fd = popen(cmd, "r"); n = fread(progdir, 1, nsize, fd); + pclose(fd); // remove newline if (n > 1) progdir[--n] = '\0'; |
