poppler/JPEG2000Stream.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
New commits: commit 89a5367d49b2556a2635dbb6d48d6a6b182a2c6c Author: Albert Astals Cid <[email protected]> Date: Thu May 23 00:54:29 2019 +0200 JPEG2000Stream: fail gracefully if not all components have the same WxH I think this is just a mistake, or at least the only file we have with this scenario is a fuzzed one diff --git a/poppler/JPEG2000Stream.cc b/poppler/JPEG2000Stream.cc index 15bbcae4..0eea3a2d 100644 --- a/poppler/JPEG2000Stream.cc +++ b/poppler/JPEG2000Stream.cc @@ -4,7 +4,7 @@ // // A JPX stream decoder using OpenJPEG // -// Copyright 2008-2010, 2012, 2017, 2018 Albert Astals Cid <[email protected]> +// Copyright 2008-2010, 2012, 2017-2019 Albert Astals Cid <[email protected]> // Copyright 2011 Daniel Glöckner <[email protected]> // Copyright 2014, 2016 Thomas Freitag <[email protected]> // Copyright 2013, 2014 Adrian Johnson <[email protected]> @@ -253,6 +253,12 @@ void JPXStream::init() close(); break; } + const int componentPixels = priv->image->comps[component].w * priv->image->comps[component].h; + if (componentPixels != priv->npixels) { + error(errSyntaxWarning, -1, "Component {0:d} has different WxH than component 0", component); + close(); + break; + } unsigned char *cdata = (unsigned char *)priv->image->comps[component].data; int adjust = 0; int depth = priv->image->comps[component].prec; _______________________________________________ poppler mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/poppler
