]> git.sur5r.net Git - i3/i3/commit
init_ws_for_output: use workspace_move_to_output
authorOrestis Floros <orestisf1993@gmail.com>
Tue, 11 Sep 2018 16:11:05 +0000 (19:11 +0300)
committerOrestis Floros <orestisf1993@gmail.com>
Wed, 12 Sep 2018 13:46:47 +0000 (16:46 +0300)
commit4d21f4cfc2cfd3166164218f665f89b9ec8a69a5
tree6d18eec625161897260ce4bbfc66b2084d9bc78f
parent83327abae4de321b1ca5acb7fe0893d4bd111028
init_ws_for_output: use workspace_move_to_output

This fixes a crash produced with the following config:
    # i3 config file (v4)
    workspace 1 output $screen1
    workspace 2 output $screen2

    exec --no-startup-id "i3-msg workspace 1, open && i3-msg workspace 2 && xrandr --output $screen2 --off && xrandr --output $screen1 --auto --output $screen2 --auto --right-of $screen1 "

Which results in:
ERROR: AddressSanitizer: heap-use-after-free on address …
READ of size 8 at 0x614000001f48 thread T0
    #0 0x5563df6e73a8 in init_ws_for_output i3/src/randr.c:468
    #1 0x5563df6ef3b4 in randr_query_outputs i3/src/randr.c:940
    #2 0x5563df68dbe1 in handle_screen_change i3/src/handlers.c:450

… is located 264 bytes inside of 448-byte region …
freed by thread T0 here:
    #1 0x5563df634b0a in con_free i3/src/con.c:96
    #2 0x5563df7151e6 in tree_close_internal i3/src/tree.c:344
    #3 0x5563df7280fe in workspace_show i3/src/workspace.c:499
    #4 0x5563df6e7315 in init_ws_for_output i3/src/randr.c:457
    #5 0x5563df6ef3b4 in randr_query_outputs i3/src/randr.c:940
    #6 0x5563df68dbe1 in handle_screen_change i3/src/handlers.c:450

Which is similar to #3228, #3248.
src/randr.c
src/workspace.c