Fix various memory leaks

Found with clang-tidy
This commit is contained in:
lbonn 2019-09-07 23:41:33 +02:00 committed by Drew DeVault
parent 32caabc7a1
commit a6307aed00
3 changed files with 11 additions and 4 deletions

View file

@ -198,9 +198,6 @@ static void set_config_node(struct sway_node *node) {
list_t *execute_command(char *_exec, struct sway_seat *seat, list_t *execute_command(char *_exec, struct sway_seat *seat,
struct sway_container *con) { struct sway_container *con) {
list_t *res_list = create_list();
char *exec = strdup(_exec);
char *head = exec;
char *cmd; char *cmd;
char matched_delim = ';'; char matched_delim = ';';
list_t *views = NULL; list_t *views = NULL;
@ -213,9 +210,16 @@ list_t *execute_command(char *_exec, struct sway_seat *seat,
} }
} }
char *exec = strdup(_exec);
char *head = exec;
list_t *res_list = create_list();
if (!res_list || !exec) {
return NULL;
}
config->handler_context.seat = seat; config->handler_context.seat = seat;
head = exec;
do { do {
for (; isspace(*head); ++head) {} for (; isspace(*head); ++head) {}
// Extract criteria (valid for this command list only). // Extract criteria (valid for this command list only).

View file

@ -687,8 +687,10 @@ static ssize_t getline_with_cont(char **lineptr, size_t *line_size, FILE *file,
nread += next_nread - 2; nread += next_nread - 2;
if ((ssize_t) *line_size < nread + 1) { if ((ssize_t) *line_size < nread + 1) {
*line_size = nread + 1; *line_size = nread + 1;
char *old_ptr = *lineptr;
*lineptr = realloc(*lineptr, *line_size); *lineptr = realloc(*lineptr, *line_size);
if (!*lineptr) { if (!*lineptr) {
free(old_ptr);
nread = -1; nread = -1;
break; break;
} }

View file

@ -259,6 +259,7 @@ int main(int argc, char **argv) {
exit(EXIT_SUCCESS); exit(EXIT_SUCCESS);
break; break;
case 'c': // config case 'c': // config
free(config_path);
config_path = strdup(optarg); config_path = strdup(optarg);
break; break;
case 'C': // validate case 'C': // validate