[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/parser/edit_text_charact...
From: |
Benjamin Wolsey |
Subject: |
[Gnash-commit] gnash ChangeLog server/parser/edit_text_charact... |
Date: |
Mon, 11 Feb 2008 16:32:53 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Benjamin Wolsey <bwy> 08/02/11 16:32:52
Modified files:
. : ChangeLog
server/parser : edit_text_character_def.cpp
text_character_def.cpp
Log message:
2008-02-11 Benjamin Wolsey <address@hidden>
* server/parser/edit_text_character_def.cpp: use ensureBytes
checking,
fixes some zzuf assertion failures.
* server/parser/text_character_def.cpp: use ensureBytes
checking.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.5614&r2=1.5615
http://cvs.savannah.gnu.org/viewcvs/gnash/server/parser/edit_text_character_def.cpp?cvsroot=gnash&r1=1.16&r2=1.17
http://cvs.savannah.gnu.org/viewcvs/gnash/server/parser/text_character_def.cpp?cvsroot=gnash&r1=1.8&r2=1.9
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.5614
retrieving revision 1.5615
diff -u -b -r1.5614 -r1.5615
--- ChangeLog 11 Feb 2008 12:55:21 -0000 1.5614
+++ ChangeLog 11 Feb 2008 16:32:52 -0000 1.5615
@@ -1,3 +1,9 @@
+2008-02-11 Benjamin Wolsey <address@hidden>
+
+ * server/parser/edit_text_character_def.cpp: use ensureBytes checking,
+ fixes some zzuf crashers.
+ * server/parser/text_character_def.cpp: use ensureBytes checking.
+
2008-02-11 Udo Giacomozzi <address@hidden>
* server/button_character_instance.cpp, server/edit_text_character.cpp,
Index: server/parser/edit_text_character_def.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/parser/edit_text_character_def.cpp,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -b -r1.16 -r1.17
--- server/parser/edit_text_character_def.cpp 21 Jan 2008 20:56:00 -0000
1.16
+++ server/parser/edit_text_character_def.cpp 11 Feb 2008 16:32:52 -0000
1.17
@@ -17,7 +17,7 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
//
-/* $Id: edit_text_character_def.cpp,v 1.16 2008/01/21 20:56:00 rsavoye Exp $ */
+/* $Id: edit_text_character_def.cpp,v 1.17 2008/02/11 16:32:52 bwy Exp $ */
// Based on the public domain text.cpp of Thatcher Ulrich <address@hidden> 2003
@@ -44,6 +44,7 @@
m_rect.read(in);
in->align();
+ in->ensureBytes(1);
bool has_text = in->read_bit();
m_word_wrap = in->read_bit();
m_multiline = in->read_bit();
@@ -53,6 +54,7 @@
bool has_max_length = in->read_bit();
bool has_font = in->read_bit();
+ in->ensureBytes(1);
in->read_bit(); // reserved
m_auto_size = in->read_bit();
bool has_layout = in->read_bit();
@@ -64,6 +66,7 @@
if (has_font)
{
+ in->ensureBytes(4);
m_font_id = in->read_u16();
m_text_height = in->read_u16();
}
@@ -75,16 +78,16 @@
if (has_max_length)
{
+ in->ensureBytes(2);
m_max_length = in->read_u16();
}
if (has_layout)
{
- m_alignment = (alignment) in->read_u8();
- //m_left_margin = (float) in->read_u16();
- m_left_margin = in->read_u16();
- //m_right_margin = (float) in->read_u16();
- m_right_margin = in->read_u16();
+ in->ensureBytes(9); //1 + 2 + 2 + 2 + 2
+ m_alignment = static_cast<alignment>(in->read_u8());
+ m_left_margin = in->read_u16(); // used to be cast to float
+ m_right_margin = in->read_u16(); // used to be cast to float
m_indent = in->read_s16();
m_leading = in->read_s16();
}
Index: server/parser/text_character_def.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/parser/text_character_def.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- server/parser/text_character_def.cpp 4 Dec 2007 11:45:32 -0000
1.8
+++ server/parser/text_character_def.cpp 11 Feb 2008 16:32:52 -0000
1.9
@@ -23,6 +23,7 @@
m_rect.read(in);
m_matrix.read(in);
+ in->ensureBytes(2); // glyph_bits + advance_bits
int glyph_bits = in->read_u8();
int advance_bits = in->read_u8();
@@ -65,6 +66,7 @@
if (has_font)
{
+ in->ensureBytes(2);
boost::uint16_t font_id = in->read_u16();
if ( ! style.setFont(font_id, *m) )
{
@@ -93,6 +95,8 @@
if (has_x_offset)
{
style.m_has_x_offset = true;
+
+ in->ensureBytes(2);
style.m_x_offset = in->read_s16();
IF_VERBOSE_PARSE(
log_parse(_(" has_x_offset = %g"),
style.m_x_offset);
@@ -106,6 +110,8 @@
if (has_y_offset)
{
style.m_has_y_offset = true;
+
+ in->ensureBytes(2);
style.m_y_offset = in->read_s16();
IF_VERBOSE_PARSE(
log_parse(_(" has_y_offset = %g"),
style.m_y_offset);
@@ -118,6 +124,7 @@
}
if (has_font)
{
+ in->ensureBytes(2);
style.m_text_height = in->read_u16();
IF_VERBOSE_PARSE(
log_parse(_(" text_height = %g"),
style.m_text_height);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash ChangeLog server/parser/edit_text_charact...,
Benjamin Wolsey <=