Commit 093f476e9 for imagemagick.org
commit 093f476e985d61557ea75ad0ef30d491dff816f3
Author: Dirk Lemstra <dirk@lemstra.org>
Date: Thu Jul 2 16:17:23 2026 +0200
Make sure we check the length after each read (GHSA-7rgw-xg25-prjm)
diff --git a/coders/bgr.c b/coders/bgr.c
index cac739db7..e087932ad 100644
--- a/coders/bgr.c
+++ b/coders/bgr.c
@@ -312,24 +312,24 @@ static Image *ReadBGRImage(const ImageInfo *image_info,ExceptionInfo *exception)
}
for (y=0; y < (ssize_t) image->extract_info.height; y++)
{
- const Quantum
- *magick_restrict p;
+ for (i=0; i < (ssize_t) (image->alpha_trait != UndefinedPixelTrait ? 4 : 3); i++)
+ {
+ const Quantum
+ *magick_restrict p;
- Quantum
- *magick_restrict q;
+ Quantum
+ *magick_restrict q;
- ssize_t
- x;
+ ssize_t
+ x;
- if (count != (ssize_t) length)
- {
- status=MagickFalse;
- ThrowFileException(exception,CorruptImageError,
- "UnexpectedEndOfFile",image->filename);
- break;
- }
- for (i=0; i < (ssize_t) (image->alpha_trait != UndefinedPixelTrait ? 4 : 3); i++)
- {
+ if (count != (ssize_t) length)
+ {
+ status=MagickFalse;
+ ThrowFileException(exception,CorruptImageError,
+ "UnexpectedEndOfFile",image->filename);
+ break;
+ }
quantum_type=quantum_types[i];
q=GetAuthenticPixels(canvas_image,0,0,canvas_image->columns,1,
exception);