Fix some memory leaks

This commit is contained in:
Daniel Walter 2016-03-17 19:12:47 +01:00
parent bc12a40dec
commit 67f61b839e

View file

@ -179,7 +179,9 @@ get_datetime(const char *timeformat)
setlocale(LC_TIME, "C"); setlocale(LC_TIME, "C");
/* return time */ /* return time */
return smprintf("%s", buf); char *ret = smprintf("%s", buf);
free(buf);
return ret;
} }
/* disk usage percentage */ /* disk usage percentage */
@ -346,7 +348,7 @@ main()
/* return status every interval */ /* return status every interval */
for (;;) { for (;;) {
/* clear the string */ /* clear the string */
strcpy(status_string, ""); memset(status_string, 0, sizeof(status_string));
/* generate status_string */ /* generate status_string */
for (size_t i = 0; i < sizeof(args) / sizeof(args[0]); ++i) { for (size_t i = 0; i < sizeof(args) / sizeof(args[0]); ++i) {
@ -354,6 +356,8 @@ main()
char *res = argument.func(argument.args); char *res = argument.func(argument.args);
char *element = smprintf(argument.format, res); char *element = smprintf(argument.format, res);
strcat(status_string, element); strcat(status_string, element);
free(res);
free(element);
} }
/* return the statusbar */ /* return the statusbar */