Xinqi Bao's Git
projects
/
slstatus.git
/ diff
summary
|
log
|
commit
|
diff
|
tree
raw
|
patch
|
inline
| side by side (parent:
bc12a40
)
Fix some memory leaks
author
Daniel Walter <
[email protected]
>
Thu, 17 Mar 2016 18:12:47 +0000
(19:12 +0100)
committer
Daniel Walter <
[email protected]
>
Thu, 17 Mar 2016 18:12:47 +0000
(19:12 +0100)
slstatus.c
diff
|
blob
|
history
diff --git
a/slstatus.c
b/slstatus.c
index
76df821
..
1db9af8
100644
(file)
--- a/
slstatus.c
+++ b/
slstatus.c
@@
-179,7
+179,9
@@
get_datetime(const char *timeformat)
setlocale(LC_TIME, "C");
/* return time */
setlocale(LC_TIME, "C");
/* 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 */
for (;;) {
/* clear the string */
/* 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) {
/* 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);
char *res = argument.func(argument.args);
char *element = smprintf(argument.format, res);
strcat(status_string, element);
+ free(res);
+ free(element);
}
/* return the statusbar */
}
/* return the statusbar */