CVSROOT: /sources/gnash Module name: gnash Changes by: Sandro Santilli <strk> 08/01/07 18:30:16
Modified files: . : ChangeLog server : array.cpp Log message: in Array constructor take negative length as zero. Not correct yet, but at least saves some memory and makes Gnash a bit more robust (fixes bug #21975). CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.5333&r2=1.5334 http://cvs.savannah.gnu.org/viewcvs/gnash/server/array.cpp?cvsroot=gnash&r1=1.88&r2=1.89 Patches: Index: ChangeLog =================================================================== RCS file: /sources/gnash/gnash/ChangeLog,v retrieving revision 1.5333 retrieving revision 1.5334 diff -u -b -r1.5333 -r1.5334 --- ChangeLog 7 Jan 2008 16:47:24 -0000 1.5333 +++ ChangeLog 7 Jan 2008 18:30:15 -0000 1.5334 @@ -1,5 +1,11 @@ 2008-01-07 Sandro Santilli <[EMAIL PROTECTED]> + * server/array.cpp: in Array constructor take negative + length as zero. Not correct yet, but at least saves some + memory and makes Gnash a bit more robust (fixes bug #21975). + +2008-01-07 Sandro Santilli <[EMAIL PROTECTED]> + * server/fill_style.{cpp,h}: add a matrix argument to the constructor taking a bitmap definition. * server/parser/BitmapMovieDefinition.cpp: appropriately Index: server/array.cpp =================================================================== RCS file: /sources/gnash/gnash/server/array.cpp,v retrieving revision 1.88 retrieving revision 1.89 diff -u -b -r1.88 -r1.89 --- server/array.cpp 19 Dec 2007 01:57:08 -0000 1.88 +++ server/array.cpp 7 Jan 2008 18:30:15 -0000 1.89 @@ -1411,23 +1411,9 @@ else if (fn.nargs == 1 && fn.arg(0).is_number() ) { // TODO: limit max size !! - unsigned int newSize = fn.arg(0).to_number(); - ao->resize(newSize); -#if 0 - // Create an empty array with the given number of undefined elements. - // - as_value index_number, undef_value; - VM& vm = VM::get(); - int sv = vm.getSWFVersion(); - string_table& st = vm.getStringTable(); - - undef_value.set_undefined(); - for (int i = 0; i < int(fn.arg(0).to_number()); i++) - { - index_number.set_int(i); - ao->set_member(st.find(index_number.to_string_versioned(sv)), undef_value); - } -#endif + int newSize = fn.arg(0).to_number(); + if ( newSize < 0 ) newSize = 0; + else ao->resize(newSize); } else { _______________________________________________ Gnash-commit mailing list Gnash-commit@gnu.org http://lists.gnu.org/mailman/listinfo/gnash-commit