summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorrmax <rmax>2007-09-11 18:01:45 (GMT)
committerrmax <rmax>2007-09-11 18:01:45 (GMT)
commit7533cb993a48e0ba2289fb87e715c272c78df969 (patch)
tree43e8911e117b031a2199690827934e981b0f9df7 /tests
parent6b89991d6010393a5e2d4befbb123f8f79660b35 (diff)
downloadtk-7533cb993a48e0ba2289fb87e715c272c78df969.zip
tk-7533cb993a48e0ba2289fb87e715c272c78df969.tar.gz
tk-7533cb993a48e0ba2289fb87e715c272c78df969.tar.bz2
* generic/tkImgGIF.c: Fixed a buffer overrun that got triggered by
multi-frame interlaced GIFs that contain subsequent frames that are smaller than the first one. * tests/imgPhoto.test: Added a test for the above.
Diffstat (limited to 'tests')
-rw-r--r--tests/imgPhoto.test14
1 files changed, 13 insertions, 1 deletions
diff --git a/tests/imgPhoto.test b/tests/imgPhoto.test
index 9905448..4118f74 100644
--- a/tests/imgPhoto.test
+++ b/tests/imgPhoto.test
@@ -9,7 +9,7 @@
#
# Author: Paul Mackerras (paulus@cs.anu.edu.au)
#
-# RCS: @(#) $Id: imgPhoto.test,v 1.15.2.4 2006/03/27 15:40:38 dkf Exp $
+# RCS: @(#) $Id: imgPhoto.test,v 1.15.2.5 2007/09/11 18:01:46 rmax Exp $
package require tcltest 2.1
namespace import -force tcltest::configure
@@ -669,6 +669,18 @@ test imgPhoto-14.2 {GIF -index handler buffer sizing} -setup {
image delete $i
} -returnCodes error -result {no image data for this index}
+test imgPhoto-14.3 {GIF -index interleaving and small frames} -setup {
+ set i [image create photo]
+} -body {
+ # Interleaved GIFs used to crash us when a smaller subsequent frame
+ # was accessed.
+ $i configure -format {GIF -index 1} -data {
+ R0lGODdhAQAFAPAAAP8AAAAAACwAAAAAAQAFAEACAoRdACwAAAAAAQAEAEACAoRRADs=
+ }
+} -cleanup {
+ image delete $i
+}
+
test imgPhoto-15.1 {photo images can fail to allocate memory gracefully} \
{nonPortable} {
# This is not portable to very large machines with more around