diff options
author | Pablo Barciela <[email protected]> | 2019-04-19 04:17:15 +0200 |
---|---|---|
committer | Pablo Barciela <[email protected]> | 2019-04-23 14:37:40 +0200 |
commit | e41acdb5cade8c0d8855dcfe583c3edd31b9b9bf (patch) | |
tree | 9bc6b6afad87a6cfc8358aa1efe1dec35c07ef02 | |
parent | 44c9c2ba23e1e4d2b7d615f7b8a6a5edf15c5ec7 (diff) | |
download | mate-calc-e41acdb5cade8c0d8855dcfe583c3edd31b9b9bf.tar.bz2 mate-calc-e41acdb5cade8c0d8855dcfe583c3edd31b9b9bf.tar.xz |
mate-calc: Fix memory leak
'g_path_get_basename' needs to be freed
Fix memory leak detected by valgrind:
valgrind --leak-check=full mate-calc
==17452== 10 bytes in 1 blocks are definitely lost in loss record 501 of 10,243
==17452== at 0x483577F: malloc (vg_replace_malloc.c:299)
==17452== by 0x5657900: g_malloc (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5800.3)
==17452== by 0x563E84A: g_path_get_basename (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5800.3)
==17452== by 0x11A9E3: main (in /usr/bin/mate-calc)
-rw-r--r-- | src/mate-calc.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mate-calc.c b/src/mate-calc.c index b31d2f1..05e40dd 100644 --- a/src/mate-calc.c +++ b/src/mate-calc.c @@ -131,20 +131,24 @@ get_options(int argc, char *argv[]) if (strcmp(arg, "-v") == 0 || strcmp(arg, "--version") == 0) { version(progname); + g_free(progname); exit(0); } else if (strcmp(arg, "-h") == 0 || strcmp(arg, "-?") == 0 || strcmp(arg, "--help") == 0) { usage(progname, TRUE, FALSE); + g_free(progname); exit(0); } else if (strcmp(arg, "--help-all") == 0) { usage(progname, TRUE, TRUE); + g_free(progname); exit(0); } else if (strcmp(arg, "--help-gtk") == 0) { usage(progname, FALSE, TRUE); + g_free(progname); exit(0); } else if (strcmp(arg, "-s") == 0 || @@ -155,6 +159,7 @@ get_options(int argc, char *argv[]) /* Error printed to stderr when user uses --solve argument without an equation */ _("Argument --solve requires an equation to solve")); fprintf(stderr, "\n"); + g_free(progname); exit(1); } else @@ -166,9 +171,12 @@ get_options(int argc, char *argv[]) _("Unknown argument '%s'"), arg); fprintf(stderr, "\n"); usage(progname, TRUE, FALSE); + g_free(progname); exit(1); } } + + g_free(progname); } static void |