diff options
author | Brian Ashworth <bosrsf04@gmail.com> | 2019-02-05 08:35:00 -0500 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2019-02-11 10:15:00 -0500 |
commit | 0c091bed769b43089191d5f62cdd81ef399cfd98 (patch) | |
tree | bc3ed187e304d0bd2fa76d4bb2a8a6ef2a38cb08 /sway/commands/workspace.c | |
parent | Set version in project file (diff) | |
download | sway-0c091bed769b43089191d5f62cdd81ef399cfd98.tar.gz sway-0c091bed769b43089191d5f62cdd81ef399cfd98.tar.zst sway-0c091bed769b43089191d5f62cdd81ef399cfd98.zip |
cmd_workspace_gaps: fix double free on bad amount
This fixes a double free in cmd_workspace_gaps when the amount given is
invalid. The end pointer from strtol is part of the argument and should
not be freed. Freeing the end pointer could result in a double free or
bad free depending on whether or not the end pointer was at the start of
the argument
Diffstat (limited to 'sway/commands/workspace.c')
-rw-r--r-- | sway/commands/workspace.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/sway/commands/workspace.c b/sway/commands/workspace.c index c5d6435a..65a3f407 100644 --- a/sway/commands/workspace.c +++ b/sway/commands/workspace.c | |||
@@ -76,7 +76,6 @@ static struct cmd_results *cmd_workspace_gaps(int argc, char **argv, | |||
76 | char *end; | 76 | char *end; |
77 | int amount = strtol(argv[gaps_location + 2], &end, 10); | 77 | int amount = strtol(argv[gaps_location + 2], &end, 10); |
78 | if (strlen(end)) { | 78 | if (strlen(end)) { |
79 | free(end); | ||
80 | return cmd_results_new(CMD_FAILURE, expected); | 79 | return cmd_results_new(CMD_FAILURE, expected); |
81 | } | 80 | } |
82 | 81 | ||