]> granicus.if.org Git - imagemagick/commitdiff
Handle negative count.
authorDirk Lemstra <dirk@lemstra.org>
Thu, 18 Jul 2019 19:50:46 +0000 (21:50 +0200)
committerDirk Lemstra <dirk@lemstra.org>
Thu, 18 Jul 2019 19:50:46 +0000 (21:50 +0200)
coders/bytebuffer-private.h

index 94eb6ab7ef10528eee5d11ba6e70a36e5150012b..c70219bc987db20ba846313005fee07456898a62 100644 (file)
@@ -52,13 +52,16 @@ static inline int ReadMagickByteBuffer(MagickByteBuffer *buffer)
 static inline char *GetMagickByteBufferDatum(MagickByteBuffer *buffer)
 {
   ssize_t
+    count,
     i;
 
   i=0;
   while (buffer->offset < buffer->count)
     buffer->data[i++]=buffer->data[buffer->offset++];
-  buffer->count=ReadBlob(buffer->image,sizeof(buffer->data)-i,buffer->data+i);
-  buffer->count+=i;
+  count=ReadBlob(buffer->image,sizeof(buffer->data)-i,buffer->data+i);
+  buffer->count=i;
+  if (count > 0)
+    buffer->count+=count;
   buffer->offset=0;
   return((char *) buffer->data);
 }