diff options
author | Mack Straight <eizneckam@gmail.com> | 2018-12-31 00:56:27 -0500 |
---|---|---|
committer | Brian Ashworth <RedSoxFan@users.noreply.github.com> | 2018-12-31 01:19:14 -0500 |
commit | 828060af73dd2f3138ad9d1bf743f57dd567723c (patch) | |
tree | d84f36e2e046aa13bd337b933c39bba165b24455 | |
parent | Merge pull request #3352 from emersion/env-docs (diff) | |
download | sway-828060af73dd2f3138ad9d1bf743f57dd567723c.tar.gz sway-828060af73dd2f3138ad9d1bf743f57dd567723c.tar.zst sway-828060af73dd2f3138ad9d1bf743f57dd567723c.zip |
swaybar: fix double free
status->text should not be freed here. There are two scenarios:
* status->text has been set to an error by status_error. In this case
the value shouldn't be freed because it's always a reference to a
constant.
* status->text has been set to status->buffer because the bar is in
text protocol mode. In this case it's a double free because the
buffer is already freed after.
-rw-r--r-- | swaybar/status_line.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/swaybar/status_line.c b/swaybar/status_line.c index 744d2785..2e6ef173 100644 --- a/swaybar/status_line.c +++ b/swaybar/status_line.c | |||
@@ -185,7 +185,6 @@ void status_line_free(struct status_line *status) { | |||
185 | } | 185 | } |
186 | free(status->read); | 186 | free(status->read); |
187 | free(status->write); | 187 | free(status->write); |
188 | free((char*) status->text); | ||
189 | free(status->buffer); | 188 | free(status->buffer); |
190 | free(status); | 189 | free(status); |
191 | } | 190 | } |