aboutsummaryrefslogtreecommitdiff
path: root/sway/commands/output/background.c
AgeCommit message (Collapse)Author
2019-03-15output_cmd_background: validate colorsBrian Ashworth
This validates the color and fallback color in `output_cmd_background` to ensure that only colors of the form `#RRGGBB` are accepted.
2019-02-05output_cmd_background: fix no file + valid modeBrian Ashworth
If output_cmd_background is given a valid mode as the first argument, then there is no file given and an error should be returned. join_args should not be called with an argc of zero since it sets the last character to the null terminator. With an argc of zero, the length is zero causing a heap buffer overflow when setting the byte before the start of argv to '\0'. This probably will not ever generate a segfault, but may cause data corruption to whatever is directly before it in memory. To make other such cases easier to detect, this also adds a sway_assert in join_args when argc is zero.
2019-01-24Use sway_log_errno instead of strerrorIan Fan
2019-01-21Replace wlr_log with sway_logM Stoeckl
This commit mostly duplicates the wlr_log functions, although with a sway_* prefix. (This is very similar to PR #2009.) However, the logging function no longer needs to be replaceable, so sway_log_init's second argument is used to set the exit callback for sway_abort. wlr_log_init is still invoked in sway/main.c This commit makes it easier to remove the wlroots dependency for the helper programs swaymsg, swaybg, swaybar, and swaynag.
2019-01-18Don't escape swaybg arguments anymoreemersion
swaybg used to be invoked with sh, which made escaping necessary. This is no longer necessary. Fixes https://github.com/swaywm/sway/issues/3456
2019-01-14Remove now-unused "input" argument of cmd_results_newM Stoeckl
Patch tested by compiling with `__attribute__ ((format (printf, 2, 3)))` applied to `cmd_results_new`. String usage constants have been converted from pointers to arrays when encountered. General handler format strings were sometimes modified to include the old input string, especially for unknown command errors.
2018-11-28Introduce a way to show config warnings in swaynagBrian Ashworth
Adds the function `config_add_swaynag_warning(char *fmt, ...)` so that handlers can add warnings to the swaynag config log in a uniform way. The formatting is identical to errors and include the line number, line, and config path. This also alters the background file access warning to use the function and introduces a warning for duplicate bindings.
2018-09-28Handle shell special characters in bg file pathBrian Ashworth
This changes it back so the path given to swaybg is enclosed in quotes. Additionally, the only character that is escaped in the path stored is double quotes now. This makes it so we don't need to keep an exhaustive list of characters that need to be escaped. The end user will still need to escape these characters in their config or when passed to swaybg.
2018-09-14Address ianyfan's commentsBrian Ashworth
wordexp p is now initialized to {0} to prevent a segfault on wordfree in the failure case. File paths with single quotes and double quotes are now supported. The quote can either be wrapped in the other quote or escaped with three backslashes. Additionally to make passing file paths with double quotes to swaybg easier, instead of enclosing the path given to swaybg in quotes, all spaces, single quotes, and double quotes in the resulting path are now escaped with a single backslash.
2018-09-13Escape spaces in background file pathBrian Ashworth
2018-09-13Allow spaces in background file pathsBrian Ashworth
2018-09-03Change _XOPEN_SOURCE defines to _POSIX_C_SOURCEsghctoma
2018-08-30Fix feature macros for FreeBSDsghctoma
On FreeBSD, snprintf and vsnprintf are visible only if _XOPEN_SOURCE >= 600.
2018-08-08Don't call swaynag_log for bg when not readingBrian Ashworth
2018-08-08Allow a fallback color to be specified for swaybgBrian Ashworth
This allows for a color to be set when the wallpaper does not fill the entire output. If specified, the fallback color is also used when the image path is inaccessible.
2018-07-10Add get_config message type to ipcIan Fan
2018-07-09Update for swaywm/wlroots#1126emersion
2018-07-02cmd_background: fix leak on errorDominique Martinet
Found through static analysis.
2018-06-26cleanup output-background subcommand handlingael-code
- fixes a double-free error when access() failed. - refactor code to make memory managment (alloc/free) more straightforward - do not bring the temporary wordexp_t struct around - do not postpone errors handling
2018-06-26fix memleak on background cmd errorael-code
- src must be free after join_args() - wordfree must bee used after wordexp
2018-06-22bugfix: avoid access after freeael-code
if src is NULL due to a previous error we cannot use it in the command result string. Moreover if `src` points to `p.we_wordv[0]` we cannot use it after `wordfree(&p)` in the command result string. Bonus feature: If there was an error accessing the file, the string rapresentation of the error is now included in the command result string.
2018-06-03Address review comments for output subcommandsBrian Ashworth
2018-06-03Refactor cmd_output to use config_subcommandBrian Ashworth