Commit 3094c4c6 authored by Michal Srb's avatar Michal Srb Committed by Adam Jackson

xkb: Escape non-printable characters correctly.

XkbStringText escapes non-printable characters using octal numbers. Such escape
sequence would be at most 5 characters long ("\0123"), so it reserves 5 bytes
in the buffer. Due to char->unsigned int conversion, it would print much longer
string for negative numbers.
Reviewed-by: 's avatarKeith Packard <>
Signed-off-by: Julien Cristau's avatarJulien Cristau <>
(cherry picked from commit eaf1f72e)
parent a510fb81
......@@ -603,7 +603,7 @@ XkbStringText(char *str, unsigned format)
else {
*out++ = '0';
sprintf(out, "%o", *in);
sprintf(out, "%o", (unsigned char) *in);
while (*out != '\0')
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment