(svn r4314) -Fix: a buffer overflow of the chat box introduced in r1263. Don't tell the Textbuf an arbitrary number as size of the string buffer, but the real lengthof() it

pull/155/head
tron 19 years ago
parent 59f0e69521
commit 0099dc31f5

@ -124,7 +124,7 @@ extern const byte _fios_colors[];
/* network gui */
void ShowNetworkGameWindow(void);
void ShowChatWindow(int maxlen);
void ShowChatWindow(void);
/* bridge_gui.c */
void ShowBuildBridgeWindow(uint start, uint end, byte type);

@ -332,7 +332,7 @@ void ShowNetworkChatQueryWindow(byte desttype, byte dest)
{
_rename_id = desttype + (dest << 8);
_rename_what = 2;
ShowChatWindow(150);
ShowChatWindow();
}
void ShowNetworkGiveMoneyWindow(byte player)

@ -1545,7 +1545,7 @@ static const WindowDesc _chat_window_desc = {
ChatWindowWndProc
};
void ShowChatWindow(int maxlen)
void ShowChatWindow(void)
{
Window *w;
@ -1560,7 +1560,7 @@ void ShowChatWindow(int maxlen)
WP(w,querystr_d).wnd_class = WC_MAIN_TOOLBAR;
WP(w,querystr_d).wnd_num = 0;
WP(w,querystr_d).text.caret = false;
WP(w,querystr_d).text.maxlength = maxlen;
WP(w,querystr_d).text.maxlength = lengthof(_edit_str_buf);
WP(w,querystr_d).text.maxwidth = w->widget[1].right - w->widget[1].left - 2; // widget[1] is the "text box"
WP(w,querystr_d).text.buf = _edit_str_buf;
UpdateTextBufferSize(&WP(w, querystr_d).text);

Loading…
Cancel
Save