fix tiny memleak when $top is used wrong
authorNikolas Garofil <nikolas@garofil.be>
Sun, 30 May 2010 15:20:54 +0000 (17:20 +0200)
committerNikolas Garofil <nikolas@garofil.be>
Sun, 30 May 2010 15:20:54 +0000 (17:20 +0200)
src/top.c

index af195bb..d230679 100644 (file)
--- a/src/top.c
+++ b/src/top.c
@@ -880,16 +880,22 @@ int parse_top_args(const char *s, const char *arg, struct text_object *obj)
 #else /* IOSTATS */
                        NORM_ERR("must be one of: name, cpu, pid, mem, time, mem_res, mem_vsize");
 #endif /* IOSTATS */
+                       free_and_zero(td->s);
+                       free_and_zero(obj->data.opaque);
                        return 0;
                }
                if (n < 1 || n > 10) {
                        NORM_ERR("invalid num arg for top. Must be between 1 and 10.");
+                       free_and_zero(td->s);
+                       free_and_zero(obj->data.opaque);
                        return 0;
                } else {
                        td->num = n - 1;
                }
        } else {
                NORM_ERR("invalid argument count for top");
+               free_and_zero(td->s);
+               free_and_zero(obj->data.opaque);
                return 0;
        }
        return 1;