From: cristy Date: Sat, 4 Apr 2015 23:53:29 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~1146 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=793c1d37781c91bce29cfb676201e9520a5cd476;p=imagemagick --- diff --git a/coders/meta.c b/coders/meta.c index 571a614a8..c5634ee9e 100644 --- a/coders/meta.c +++ b/coders/meta.c @@ -422,6 +422,8 @@ static ssize_t parse8BIM(Image *ifile, Image *ofile) ssize_t diff = outputlen - savedolen; currentpos = TellBlob(ofile); + if (currentpos < 0) + return(-1); offset=SeekBlob(ofile,savedpos,SEEK_SET); if (offset < 0) return(-1); @@ -471,6 +473,8 @@ static ssize_t parse8BIM(Image *ifile, Image *ofile) { /* patch in a fake length for now and fix it later */ savedpos = TellBlob(ofile); + if (savedpos < 0) + return(-1); (void) WriteBlobMSBLong(ofile,0xFFFFFFFFU); outputlen += 4; savedolen = outputlen; @@ -517,6 +521,8 @@ static ssize_t parse8BIM(Image *ifile, Image *ofile) ssize_t diff = outputlen - savedolen; currentpos = TellBlob(ofile); + if (currentpos < 0) + return(-1); offset=SeekBlob(ofile,savedpos,SEEK_SET); if (offset < 0) return(-1); @@ -712,6 +718,8 @@ static ssize_t parse8BIMW(Image *ifile, Image *ofile) ssize_t diff = outputlen - savedolen; currentpos = TellBlob(ofile); + if (currentpos < 0) + return(-1); offset=SeekBlob(ofile,savedpos,SEEK_SET); if (offset < 0) return(-1); @@ -761,6 +769,8 @@ static ssize_t parse8BIMW(Image *ifile, Image *ofile) { /* patch in a fake length for now and fix it later */ savedpos = TellBlob(ofile); + if (savedpos < 0) + return(-1); (void) WriteBlobMSBLong(ofile,0xFFFFFFFFU); outputlen += 4; savedolen = outputlen; @@ -807,6 +817,8 @@ static ssize_t parse8BIMW(Image *ifile, Image *ofile) ssize_t diff = outputlen - savedolen; currentpos = TellBlob(ofile); + if (currentpos < 0) + return(-1); offset=SeekBlob(ofile,savedpos,SEEK_SET); if (offset < 0) return(-1);