diff options
author | Orestis Floros <orestisflo@gmail.com> | 2020-05-01 14:14:53 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-01 14:14:53 +0200 |
commit | a1ed46a18a621008e36a3e6b26670f33ab031e0b (patch) | |
tree | 4b49e85e5296bb094a60729e7a29e00dd744ee0c | |
parent | ef03d7c4794d35cf322288c93577ea777a17c697 (diff) | |
parent | 45a0b91141a6e3e942b8351e765817f2d931c5a2 (diff) |
Merge pull request #416 from orestisfl/memleak
Fix various memory leaks
-rw-r--r-- | .travis.yml | 5 | ||||
-rw-r--r-- | i3status.c | 4 | ||||
-rw-r--r-- | src/print_ddate.c | 1 | ||||
-rw-r--r-- | src/print_run_watch.c | 2 | ||||
-rw-r--r-- | src/print_time.c | 3 |
5 files changed, 11 insertions, 4 deletions
diff --git a/.travis.yml b/.travis.yml index 02c9223..6b92858 100644 --- a/.travis.yml +++ b/.travis.yml @@ -35,7 +35,6 @@ addons: - libcap2-bin - pulseaudio script: - # TODO: re-enable sanitizers once issues are fixed - - autoreconf -fi && mkdir -p build && cd build && (../configure --disable-sanitizers || (cat config.log; false)) && make -j 8 V=1 && ldd ./i3status |& grep -q pulse || (echo "not linked against pulseaudio"; exit 1) - - make clean && (../configure --disable-sanitizers --disable-pulseaudio || (cat config.log; false)) && make -j 8 V=1 && ldd ./i3status |& grep -q pulse && (echo "linked against pulseaudio"; exit 1) || true + - autoreconf -fi && mkdir -p build && cd build && (../configure || (cat config.log; false)) && make -j 8 V=1 && ldd ./i3status |& grep -q pulse || (echo "not linked against pulseaudio"; exit 1) + - make clean && (../configure --enable-sanitizers --disable-pulseaudio || (cat config.log; false)) && make -j 8 V=1 && ldd ./i3status |& grep -q pulse && (echo "linked against pulseaudio"; exit 1) || true - make -j 8 check V=1 || (cat test-suite.log; false) @@ -207,6 +207,7 @@ static char *get_config_path(void) { config_path = resolve_tilde("~/.i3status.conf"); if (path_exists(config_path)) return config_path; + free(config_path); char *buf = strdup(xdg_config_dirs); char *tok = strtok(buf, ":"); while (tok != NULL) { @@ -230,7 +231,6 @@ static char *get_config_path(void) { die("Unable to find the configuration file (looked at " "~/.i3status.conf, $XDG_CONFIG_HOME/i3status/config, " SYSCONFDIR "/i3status.conf and $XDG_CONFIG_DIRS/i3status/config)"); - return NULL; } /* @@ -807,4 +807,6 @@ int main(int argc, char *argv[]) { struct timespec ts = {interval - 1 - (current_timeval.tv_sec % interval), (10e5 - current_timeval.tv_usec) * 1000}; nanosleep(&ts, NULL); } + + yajl_gen_free(json_gen); } diff --git a/src/print_ddate.c b/src/print_ddate.c index 1a5258c..149a267 100644 --- a/src/print_ddate.c +++ b/src/print_ddate.c @@ -173,4 +173,5 @@ void print_ddate(yajl_gen json_gen, char *buffer, const char *format, time_t t) const size_t num = sizeof(placeholders) / sizeof(placeholder_t); buffer = format_placeholders(format, &placeholders[0], num); OUTPUT_FULL_TEXT(buffer); + free(buffer); } diff --git a/src/print_run_watch.c b/src/print_run_watch.c index d153da4..ccc7206 100644 --- a/src/print_run_watch.c +++ b/src/print_run_watch.c @@ -1,6 +1,7 @@ // vim:ts=4:sw=4:expandtab #include <config.h> #include <stdio.h> +#include <stdlib.h> #include <string.h> #include <yajl/yajl_gen.h> #include <yajl/yajl_version.h> @@ -35,4 +36,5 @@ void print_run_watch(yajl_gen json_gen, char *buffer, const char *title, const c END_COLOR; OUTPUT_FULL_TEXT(buffer); + free(buffer); } diff --git a/src/print_time.c b/src/print_time.c index 67930b7..eede31d 100644 --- a/src/print_time.c +++ b/src/print_time.c @@ -82,4 +82,7 @@ void print_time(yajl_gen json_gen, char *buffer, const char *title, const char * out: *outwalk = '\0'; OUTPUT_FULL_TEXT(buffer); + if (format_time != NULL) { + free(buffer); + } } |