Fix various memory leaks

Fixes #362
This commit is contained in:
Orestis Floros 2020-05-01 10:04:33 +02:00
parent ef03d7c479
commit 980164ccca
No known key found for this signature in database
GPG Key ID: A09DBD7D3222C1C3
4 changed files with 9 additions and 1 deletions

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}
}