- get_parent_pid: free buffer returned from read_line after use.
- workspace_for_pid: ensure free_pid_workspace is called when
pid_workspaces are removed from config->pid_workspaces.
- cmd_split: return the cmd_results from _do_split, so that the
parent function may free it.
- read_line: OOB write when a line in /proc/modules contains a
terminating character at size position.
- handle_view_created: Ensure that the list_t returned by criteria_for
is free'd after use
- ipc_event_binding_keyboard/ipc_event_binding: Properly handle
json_object reference counting and ownership.
An allocated pointer was incremented before being freed in
`sway/workspace.c` which led to an invalid free. This has been fixed by
keeping the pointer in place and moving the data instead.
Fixes#1548
This commit impliments a KDE hidden feature where a SNI could be
registered by object path instead of well-known name. This should allow
libappindicator programs to work correctly under sway.
See #1372
this patch allow the user to type its password when a modal window is shown
while the desktop is locked by swaylock.
It is a partial fix of the bug since the window should be visible (see bug
https://github.com/swaywm/sway/issues/1056 for details).
Lift restriction on json-c <= 0.12.1
ipc-server: Acquire ownership of referenced json_object properly
When adding a referenced json_object with an unknown lifetime to
another json_object, it must be done with a wrapped call to
json_object_get() to acquire the ownership of that json_object.
After a user enters or clears a password, try to overwrite the buffer containing it. That way it's not sitting around in RAM for something else to read later. Also, mlock() the password buffer so that it is never swapped out.
This also replaces the dynamically allocated buffer with a static char[1024]. Any characters past that are discarded until the user hits enter or escape.
When adding a referenced json_object with an unknown lifetime to
another json_object, it must be done with a wrapped call to
json_object_get() to acquire the ownership of that json_object.