From: Orestis Floros Date: Mon, 25 Sep 2017 01:43:00 +0000 (+0300) Subject: Correct remaining string length for fill_rmlvo_from_root X-Git-Tag: 4.15~65^2 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=refs%2Fpull%2F2985%2Fhead;p=i3%2Fi3 Correct remaining string length for fill_rmlvo_from_root Fixes #2538. --- diff --git a/src/bindings.c b/src/bindings.c index 42a2b79b..c145b956 100644 --- a/src/bindings.c +++ b/src/bindings.c @@ -910,7 +910,6 @@ static int fill_rmlvo_from_root(struct xkb_rule_names *xkb_names) { int remaining = xcb_get_property_value_length(prop_reply); for (int i = 0; i < 5 && remaining > 0; i++) { const int len = strnlen(walk, remaining); - remaining -= len; switch (i) { case 0: sasprintf((char **)&(xkb_names->rules), "%.*s", len, walk); @@ -930,6 +929,7 @@ static int fill_rmlvo_from_root(struct xkb_rule_names *xkb_names) { } DLOG("component %d of _XKB_RULES_NAMES is \"%.*s\"\n", i, len, walk); walk += (len + 1); + remaining -= (len + 1); } free(atom_reply);