Explicitly terminate fallback in set_from_resource. (#2366)
This commit is contained in:
parent
82dd59cb31
commit
18d6a1bc76
|
@ -954,6 +954,14 @@ bool parse_file(const char *f, bool use_nagbar) {
|
||||||
char v_key[512];
|
char v_key[512];
|
||||||
char fallback[4096];
|
char fallback[4096];
|
||||||
|
|
||||||
|
/* Ensure that this string is terminated. For example, a user might
|
||||||
|
* want a variable to be empty if the resource can't be found and
|
||||||
|
* uses
|
||||||
|
* set_from_resource $foo i3wm.foo
|
||||||
|
* Without explicitly terminating the string first, sscanf() will
|
||||||
|
* leave it uninitialized, causing garbage in the config.*/
|
||||||
|
fallback[0] = '\0';
|
||||||
|
|
||||||
if (sscanf(value, "%511s %511s %4095[^\n]", v_key, res_name, fallback) < 1) {
|
if (sscanf(value, "%511s %511s %4095[^\n]", v_key, res_name, fallback) < 1) {
|
||||||
ELOG("Failed to parse resource specification '%s', skipping it.\n", value);
|
ELOG("Failed to parse resource specification '%s', skipping it.\n", value);
|
||||||
continue;
|
continue;
|
||||||
|
|
Loading…
Reference in New Issue