From 67f61b839e21c05f787ec8edf68946e0c1aed077 Mon Sep 17 00:00:00 2001 From: Daniel Walter Date: Thu, 17 Mar 2016 19:12:47 +0100 Subject: Fix some memory leaks --- slstatus.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'slstatus.c') diff --git a/slstatus.c b/slstatus.c index 76df821..1db9af8 100644 --- a/slstatus.c +++ b/slstatus.c @@ -179,7 +179,9 @@ get_datetime(const char *timeformat) setlocale(LC_TIME, "C"); /* return time */ - return smprintf("%s", buf); + char *ret = smprintf("%s", buf); + free(buf); + return ret; } /* disk usage percentage */ @@ -346,7 +348,7 @@ main() /* return status every interval */ for (;;) { /* clear the string */ - strcpy(status_string, ""); + memset(status_string, 0, sizeof(status_string)); /* generate status_string */ for (size_t i = 0; i < sizeof(args) / sizeof(args[0]); ++i) { @@ -354,6 +356,8 @@ main() char *res = argument.func(argument.args); char *element = smprintf(argument.format, res); strcat(status_string, element); + free(res); + free(element); } /* return the statusbar */ -- cgit v1.2.3