diff options
Diffstat (limited to 'swaynag')
-rw-r--r-- | swaynag/config.c | 3 | ||||
-rw-r--r-- | swaynag/swaynag.c | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/swaynag/config.c b/swaynag/config.c index 60bda3e0..b4c22443 100644 --- a/swaynag/config.c +++ b/swaynag/config.c | |||
@@ -365,11 +365,12 @@ int swaynag_load_config(char *path, struct swaynag *swaynag, list_t *types) { | |||
365 | } | 365 | } |
366 | free(name); | 366 | free(name); |
367 | } else { | 367 | } else { |
368 | char flag[nread + 3]; | 368 | char *flag = malloc(sizeof(char) * (nread + 3)); |
369 | sprintf(flag, "--%s", line); | 369 | sprintf(flag, "--%s", line); |
370 | char *argv[] = {"swaynag", flag}; | 370 | char *argv[] = {"swaynag", flag}; |
371 | result = swaynag_parse_options(2, argv, swaynag, types, type, | 371 | result = swaynag_parse_options(2, argv, swaynag, types, type, |
372 | NULL, NULL); | 372 | NULL, NULL); |
373 | free(flag); | ||
373 | if (result != 0) { | 374 | if (result != 0) { |
374 | break; | 375 | break; |
375 | } | 376 | } |
diff --git a/swaynag/swaynag.c b/swaynag/swaynag.c index 674c24b5..ceb795a8 100644 --- a/swaynag/swaynag.c +++ b/swaynag/swaynag.c | |||
@@ -28,9 +28,10 @@ static bool terminal_execute(char *terminal, char *command) { | |||
28 | fprintf(tmp, "#!/bin/sh\nrm %s\n%s", fname, command); | 28 | fprintf(tmp, "#!/bin/sh\nrm %s\n%s", fname, command); |
29 | fclose(tmp); | 29 | fclose(tmp); |
30 | chmod(fname, S_IRUSR | S_IWUSR | S_IXUSR); | 30 | chmod(fname, S_IRUSR | S_IWUSR | S_IXUSR); |
31 | char cmd[strlen(terminal) + strlen(" -e ") + strlen(fname) + 1]; | 31 | char *cmd = malloc(sizeof(char) * (strlen(terminal) + strlen(" -e ") + strlen(fname) + 1)); |
32 | sprintf(cmd, "%s -e %s", terminal, fname); | 32 | sprintf(cmd, "%s -e %s", terminal, fname); |
33 | execl("/bin/sh", "/bin/sh", "-c", cmd, NULL); | 33 | execl("/bin/sh", "/bin/sh", "-c", cmd, NULL); |
34 | free(cmd); | ||
34 | return true; | 35 | return true; |
35 | } | 36 | } |
36 | 37 | ||