swaynag: remove double free of details button

If there are no arguments or invalid arguments given, swaynag will free
`swaynag.details.button_details` under the `cleanup` label in main. It
then called `swaynag_destroy`, which would attempt to free it again.

Since `swaynag.details.button_details` is either freed on line 106 of
main (when there is no detailed message) or added to `swaynag.buttons`
on line 103 of main, there is no reason to manually free it in
`swaynag_destroy`.

Although I cannot reproduce a double free on my system, for some reason,
it should have actually resulted in a double free in all code paths.
master
Brian Ashworth 6 years ago committed by emersion
parent 8d7ebc258a
commit eb527ac01a

@ -416,7 +416,6 @@ void swaynag_destroy(struct swaynag *swaynag) {
free(button); free(button);
} }
list_free(swaynag->buttons); list_free(swaynag->buttons);
free(swaynag->details.button_details);
free(swaynag->details.message); free(swaynag->details.message);
free(swaynag->details.button_up.text); free(swaynag->details.button_up.text);
free(swaynag->details.button_down.text); free(swaynag->details.button_down.text);

Loading…
Cancel
Save