diff options
author | Simon Marlow <marlowsd@gmail.com> | 2009-12-01 12:28:01 +0000 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2009-12-01 12:28:01 +0000 |
commit | 063b822bb68f84dd9729327bb1765637c25aceb4 (patch) | |
tree | 3f8fb5fab976de2f4e6527091ec68554e080e531 /rts/RtsFlags.c | |
parent | cf036e5bd578769729fbbcbf67cb2277da9ba0bc (diff) | |
download | haskell-063b822bb68f84dd9729327bb1765637c25aceb4.tar.gz |
Free full_prog_argv at exit, closing a memory leak
Diffstat (limited to 'rts/RtsFlags.c')
-rw-r--r-- | rts/RtsFlags.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/rts/RtsFlags.c b/rts/RtsFlags.c index a646e57396..19954f80e9 100644 --- a/rts/RtsFlags.c +++ b/rts/RtsFlags.c @@ -1389,3 +1389,18 @@ setFullProgArgv(int argc, char *argv[]) full_prog_argv[argc] = NULL; } +void +freeFullProgArgv (void) +{ + int i; + + if (full_prog_argv != NULL) { + for (i = 0; i < full_prog_argc; i++) { + stgFree(full_prog_argv[i]); + } + stgFree(full_prog_argv); + } + + full_prog_argc = 0; + full_prog_argv = NULL; +} |