[prev in list] [next in list] [prev in thread] [next in thread]
List: kopete-devel
Subject: [kopete-devel] kdenetwork/kopete/protocols/oscar/oscarsocket
From: Richard Smith <kde () metafoo ! co ! uk>
Date: 2004-10-05 17:56:33
Message-ID: 20041005175633.7E49C126E7 () office ! kde ! org
[Download RAW message or body]
CVS commit by lilachaze:
Check for out-of-range color and font indices a bit better.
Fix an off-by-one error giving wrong background colours according to RTF
spec.
CCMAIL: kopete-devel@kde.org
M +5 -3 rtf.cc 1.5
M +5 -3 rtf.ll 1.5
--- kdenetwork/kopete/protocols/oscar/oscarsocket/rtf.cc #1.4:1.5
@@ -1791,5 +1791,5 @@ void RTF2HTML::FlushOutTags()
{
// RTF colors are 1-based; colors[] is a 0-based array.
- if (t.param > colors.size())
+ if (t.param > colors.size() || t.param == 0)
break;
QColor &c = colors[t.param-1];
@@ -1802,4 +1802,6 @@ void RTF2HTML::FlushOutTags()
case TAG_FONT_FAMILY:
{
+ if (t.param > fonts.size() || t.param == 0)
+ break;
FontDef &f = fonts[t.param-1];
string name = (!f.nonTaggedName.empty()) ? f.nonTaggedName : \
f.taggedName; @@ -1808,7 +1810,7 @@ void RTF2HTML::FlushOutTags()
break;
case TAG_BG_COLOR:{
- if (t.param > colors.size())
+ if (t.param > colors.size() || t.param == 0)
break;
- QColor &c = colors[t.param];
+ QColor &c = colors[t.param-1];
PrintUnquoted("<span style=\"background-color:#%02X%02X%02X;\">", \
c.red(), c.green(), c.blue()); break;
--- kdenetwork/kopete/protocols/oscar/oscarsocket/rtf.ll #1.4:1.5
@@ -126,5 +126,5 @@
{
// RTF colors are 1-based; colors[] is a 0-based array.
- if (t.param > colors.size())
+ if (t.param > colors.size() || t.param == 0)
break;
QColor &c = colors[t.param-1];
@@ -137,4 +137,6 @@
case TAG_FONT_FAMILY:
{
+ if (t.param > fonts.size() || t.param == 0)
+ break;
FontDef &f = fonts[t.param-1];
string name = (!f.nonTaggedName.empty()) ? f.nonTaggedName : \
f.taggedName; @@ -143,7 +145,7 @@
break;
case TAG_BG_COLOR:{
- if (t.param > colors.size())
+ if (t.param > colors.size() || t.param == 0)
break;
- QColor &c = colors[t.param];
+ QColor &c = colors[t.param-1];
PrintUnquoted("<span style=\"background-color:#%02X%02X%02X;\">", \
c.red(), c.green(), c.blue()); break;
_______________________________________________
kopete-devel mailing list
kopete-devel@kde.org
https://mail.kde.org/mailman/listinfo/kopete-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic