[libpng15] Revised test for validity of "num_unknowns" to eliminate compiler

warnings.
diff --git a/ANNOUNCE b/ANNOUNCE
index 2c6c41c..25f8fdf 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -81,7 +81,7 @@
   No changes.
 
 Version 1.5.14rc02 [January 17, 2013]
-  Change info_ptr->unknown_chunks_num to type png_uint_32
+  Revised test for validity of "num_unknowns" to eliminate compiler warnings.
 
   ===========================================================================
                        NOTICE November 17, 2012:
diff --git a/CHANGES b/CHANGES
index 87fbfda..5f3446f 100644
--- a/CHANGES
+++ b/CHANGES
@@ -3974,7 +3974,7 @@
   No changes.
 
 Version 1.5.14rc02 [January 17, 2013]
-  Change info_ptr->unknown_chunks_num to type png_uint_32
+  Revised test for validity of "num_unknowns" to eliminate compiler warnings.
 
   ===========================================================================
                        NOTICE November 17, 2012:
diff --git a/pnginfo.h b/pnginfo.h
index 2c266e3..a33bfab 100644
--- a/pnginfo.h
+++ b/pnginfo.h
@@ -228,7 +228,7 @@
  defined(PNG_HANDLE_AS_UNKNOWN_SUPPORTED)
    /* Storage for unknown chunks that the library doesn't recognize. */
    png_unknown_chunkp unknown_chunks;
-   png_uint_32 unknown_chunks_num;
+   int unknown_chunks_num;
 #endif
 
 #ifdef PNG_iCCP_SUPPORTED
diff --git a/pngset.c b/pngset.c
index 6f645b4..1c9891b 100644
--- a/pngset.c
+++ b/pngset.c
@@ -1040,9 +1040,10 @@
       return;
 
    if (num_unknowns < 0 ||
-       num_unknowns >= INT_MAX-info_ptr->unknown_chunks_num ||
-       num_unknowns >= PNG_SIZE_MAX/png_sizeof(png_unknown_chunk)
-       - info_ptr->unknown_chunks_num)
+       num_unknowns > INT_MAX-info_ptr->unknown_chunks_num ||
+      (unsigned int)/*SAFE*/(num_unknowns +/*SAFE*/
+            info_ptr->unknown_chunks_num) >=
+         PNG_SIZE_MAX/png_sizeof(png_unknown_chunk))
       np=NULL;
 
    else