sway

i3-compatible Wayland compositor
git clone https://git.awy.one/sway
Log | Files | Refs | README | LICENSE

commit ebe65a4d481341d38b99e8fb36e66832888bc085
parent 1f1b1b34d6398d463658317dea06f640482f3caa
Author: Ryan Dwyer <ryandwyer1@gmail.com>
Date:   Sat,  1 Sep 2018 11:13:48 +1000

Fix crash on reload

If sway is reloaded using a bindsym which has multiple commands, it
failed to detect the reload command, didn't create a duplicate of the
binding and would crash because the reload command frees the bindings.

For example:

    mode system {
        bindsym r reload, mode default
    }

In this example, the binding->command is "reload, mode default".

Fixes #2545

Diffstat:
Msway/commands/bind.c | 2+-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sway/commands/bind.c b/sway/commands/bind.c @@ -310,7 +310,7 @@ void seat_execute_command(struct sway_seat *seat, struct sway_binding *binding) bool reload = false; // if this is a reload command we need to make a duplicate of the // binding since it will be gone after the reload has completed. - if (strcasecmp(binding->command, "reload") == 0) { + if (strncasecmp(binding->command, "reload", 6) == 0) { reload = true; binding_copy = sway_binding_dup(binding); if (!binding_copy) {