X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=keys.c;h=62db167516af5338caa42a311852266af01c0a71;hb=e6486761b694551ddb2c7ae9c87262c9a84f58fe;hp=326485609b4e22b386212a16f2ec9e3658e40c84;hpb=16be238953e1d3f105bd5db66f65581cbd030121;p=xonotic%2Fdarkplaces.git diff --git a/keys.c b/keys.c index 32648560..62db1675 100644 --- a/keys.c +++ b/keys.c @@ -1189,9 +1189,17 @@ Key_Console (int key, int unicode) // can't use strcpy to move string to right len++; //memmove(&key_line[key_linepos + u8_bytelen(key_line + key_linepos, 1)], &key_line[key_linepos], len); + if (key_linepos + blen + len >= MAX_INPUTLINE) + return; memmove(&key_line[key_linepos + blen], &key_line[key_linepos], len); } + // FIXME: This is not proper overwriting with utf8. + if (key_linepos + blen >= MAX_INPUTLINE) + return; memcpy(key_line + key_linepos, buf, blen); + if (blen > len) + key_line[key_linepos + blen] = 0; + // END OF FIXME key_linepos += blen; //key_linepos += u8_fromchar(unicode, key_line + key_linepos, sizeof(key_line) - key_linepos - 1); //key_line[key_linepos] = ascii;