diff options
author | das <das> | 2004-07-27 21:19:32 (GMT) |
---|---|---|
committer | das <das> | 2004-07-27 21:19:32 (GMT) |
commit | bea5263502ccdb979e3792cd7c809a017fb8bc91 (patch) | |
tree | 24f58d9ef92d89aa7027c0ef78aaabf086d074b5 | |
parent | c19d414695a660b3ffaca0e118e3232492bbc8f1 (diff) | |
download | tk-bea5263502ccdb979e3792cd7c809a017fb8bc91.zip tk-bea5263502ccdb979e3792cd7c809a017fb8bc91.tar.gz tk-bea5263502ccdb979e3792cd7c809a017fb8bc91.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-- | ChangeLog | 6 | ||||
-rw-r--r-- | generic/tkImgGIF.c | 9 |
2 files changed, 11 insertions, 4 deletions
@@ -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) { |