[libpng16] Quiet a "comparison always true" warning in pngstest.c (John Bowler).
diff --git a/ANNOUNCE b/ANNOUNCE
index 2e8f892..16982e8 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,4 +1,4 @@
-Libpng 1.6.16beta03 - December 15, 2014
+Libpng 1.6.16beta03 - December 17, 2014
This is not intended to be a public release. It will be replaced
within a few weeks by a public version or by another test version.
@@ -35,7 +35,8 @@
Revised Makefile.am and scripts/*.dfn again to work with MinGW/MSYS;
renamed scripts/*.dfn to scripts/*.c (John Bowler).
-Version 1.6.16beta03 [December 15, 2014]
+Version 1.6.16beta03 [December 17, 2014]
+ Quiet a "comparison always true" warning in pngstest.c (John Bowler).
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit
diff --git a/CHANGES b/CHANGES
index f0dff07..9d568fb 100644
--- a/CHANGES
+++ b/CHANGES
@@ -5109,7 +5109,8 @@
Revised Makefile.am and scripts/*.dfn again to work with MinGW/MSYS;
renamed scripts/*.dfn to scripts/*.c (John Bowler).
-Version 1.6.16beta03 [December 15, 2014]
+Version 1.6.16beta03 [December 17, 2014]
+ Quiet a "comparison always true" warning in pngstest.c (John Bowler).
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit
diff --git a/contrib/libtests/pngstest.c b/contrib/libtests/pngstest.c
index d20e8f2..6d6c501 100644
--- a/contrib/libtests/pngstest.c
+++ b/contrib/libtests/pngstest.c
@@ -3173,32 +3173,43 @@
{
long int cb = ftell(f);
- if (cb > 0 && (unsigned long int)cb < (size_t)~(size_t)0)
+ if (cb > 0)
{
- png_bytep b = voidcast(png_bytep, malloc((size_t)cb));
-
- if (b != NULL)
+ if ((unsigned long int)cb <= (size_t)~(size_t)0)
{
- rewind(f);
+ png_bytep b = voidcast(png_bytep, malloc((size_t)cb));
- if (fread(b, (size_t)cb, 1, f) == 1)
+ if (b != NULL)
{
- fclose(f);
- image->input_memory_size = cb;
- image->input_memory = b;
+ rewind(f);
+
+ if (fread(b, (size_t)cb, 1, f) == 1)
+ {
+ fclose(f);
+ image->input_memory_size = cb;
+ image->input_memory = b;
+ }
+
+ else
+ {
+ free(b);
+ return logclose(image, f, image->file_name,
+ ": read failed: ");
+ }
}
else
- {
- free(b);
return logclose(image, f, image->file_name,
- ": read failed: ");
- }
+ ": out of memory: ");
}
else
return logclose(image, f, image->file_name,
- ": out of memory: ");
+ ": file too big for this architecture: ");
+ /* cb is the length of the file as a (long) and
+ * this is greater than the maximum amount of
+ * memory that can be requested from malloc.
+ */
}
else if (cb == 0)