summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjørn Lindeijer <bjorn@lindeijer.nl>2009-01-10 00:57:09 +0100
committerBjørn Lindeijer <bjorn@lindeijer.nl>2009-01-10 01:15:34 +0100
commited60c53eb2fe5ef377fc726df796d0aaf2005c6c (patch)
tree1fb22f51d58d0016f18b3a63209a7f56c698e49c
parent469b6dfc1badbac467b9145d2eaaaa87238087d9 (diff)
downloadmana-client-ed60c53eb2fe5ef377fc726df796d0aaf2005c6c.tar.gz
mana-client-ed60c53eb2fe5ef377fc726df796d0aaf2005c6c.tar.bz2
mana-client-ed60c53eb2fe5ef377fc726df796d0aaf2005c6c.tar.xz
mana-client-ed60c53eb2fe5ef377fc726df796d0aaf2005c6c.zip
Merged comment by silene from mainline
We should probably look into fixing the thing he's talking about.
-rw-r--r--src/gui/browserbox.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gui/browserbox.cpp b/src/gui/browserbox.cpp
index 2706a4c4..03540d31 100644
--- a/src/gui/browserbox.cpp
+++ b/src/gui/browserbox.cpp
@@ -378,6 +378,10 @@ BrowserBox::draw(gcn::Graphics *graphics)
char const *hyphen = "~";
int hyphenWidth = font->getWidth(hyphen);
+ /* FIXME: This code layout makes it easy to crash remote
+ clients by talking garbage. Forged long utf-8 characters
+ will cause either a buffer underflow in substr or an
+ infinite loop in the main loop. */
do
{
if (!forced)