Merge pull request #2985 from orestisf1993/next

Correct remaining string length for fill_rmlvo_from_root
This commit is contained in:
Ingo Bürk 2017-09-25 09:09:56 +02:00 committed by GitHub
commit f4f3d649e2
1 changed files with 1 additions and 1 deletions

View File

@ -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); int remaining = xcb_get_property_value_length(prop_reply);
for (int i = 0; i < 5 && remaining > 0; i++) { for (int i = 0; i < 5 && remaining > 0; i++) {
const int len = strnlen(walk, remaining); const int len = strnlen(walk, remaining);
remaining -= len;
switch (i) { switch (i) {
case 0: case 0:
sasprintf((char **)&(xkb_names->rules), "%.*s", len, walk); 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); DLOG("component %d of _XKB_RULES_NAMES is \"%.*s\"\n", i, len, walk);
walk += (len + 1); walk += (len + 1);
remaining -= (len + 1);
} }
free(atom_reply); free(atom_reply);