summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordas <das>2004-07-27 21:19:32 (GMT)
committerdas <das>2004-07-27 21:19:32 (GMT)
commit5fc041dc31e41318120e237d2e840217decb6748 (patch)
tree24f58d9ef92d89aa7027c0ef78aaabf086d074b5
parent31801062f0b9f4ec6269266a4b31c1ba4831fb35 (diff)
downloadtk-5fc041dc31e41318120e237d2e840217decb6748.zip
tk-5fc041dc31e41318120e237d2e840217decb6748.tar.gz
tk-5fc041dc31e41318120e237d2e840217decb6748.tar.bz2
* generic/tkImgGIF.c (FileReadGIF): fix crash reported by Reinhard Max:
in case of premature end of image data, return error instead of passing nil buffer to Tk_PhotoPutBlock().
-rw-r--r--ChangeLog6
-rw-r--r--generic/tkImgGIF.c9
2 files changed, 11 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 4f68deb..13c0749 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2004-07-27 Daniel Steffen <das@users.sourceforge.net>
+
+ * generic/tkImgGIF.c (FileReadGIF): fix crash reported by Reinhard Max:
+ in case of premature end of image data, return error instead of
+ passing nil buffer to Tk_PhotoPutBlock().
+
2004-07-22 Jeff Hobbs <jeffh@ActiveState.com>
* library/tkfbox.tcl (::tk::dialog::file::Update): use -directory
diff --git a/generic/tkImgGIF.c b/generic/tkImgGIF.c
index c6d04d6..6fe8627 100644
--- a/generic/tkImgGIF.c
+++ b/generic/tkImgGIF.c
@@ -29,7 +29,7 @@
* | provided "as is" without express or implied warranty. |
* +-------------------------------------------------------------------+
*
- * RCS: @(#) $Id: tkImgGIF.c,v 1.25 2003/03/06 15:05:31 dkf Exp $
+ * RCS: @(#) $Id: tkImgGIF.c,v 1.26 2004/07/27 21:19:32 das Exp $
*/
/*
@@ -327,11 +327,12 @@ FileReadGIF(interp, chan, fileName, format, imageHandle, destX, destY,
while (1) {
if (Fread(buf, 1, 1, chan) != 1) {
/*
- * Premature end of image. We should really notify
- * the user, but for now just show garbage.
+ * Premature end of image.
*/
- break;
+ Tcl_AppendResult(interp,"premature end of image data for this index",
+ (char *) NULL);
+ goto error;
}
if (buf[0] == GIF_TERMINATOR) {