[libpng16] Fixed off-by-one error in png_do_check_palette_indexes() (Bug report

    by Mick P., Source Forge Issue #269).
diff --git a/ANNOUNCE b/ANNOUNCE
index 78a6faf..9e36cb3 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -27,6 +27,8 @@
   Added PNGMINUS_UNUSED macro to contrib/pngminus/p*.c and added missing
     parenthesis in contrib/pngminus/pnm2png.c (bug report by Christian Hesse).
   Free row_ptr in PNG_CLEANUP macro in contrib/oss-fuzz/libpng_read_fuzzer.cc
+  Fixed off-by-one error in png_do_check_palette_indexes() (Bug report
+    by Mick P., Source Forge Issue #269).
 
 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
 (subscription required; visit
diff --git a/CHANGES b/CHANGES
index 612577b..a5530f8 100644
--- a/CHANGES
+++ b/CHANGES
@@ -5998,6 +5998,8 @@
   Added PNGMINUS_UNUSED macro to contrib/pngminus/p*.c and added missing
     parenthesis in contrib/pngminus/pnm2png.c (bug report by Christian Hesse).
   Free row_ptr in PNG_CLEANUP macro in contrib/oss-fuzz/libpng_read_fuzzer.cc
+  Fixed off-by-one error in png_do_check_palette_indexes() (Bug report
+    by Mick P., Source Forge Issue #269).
 
 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
 (subscription required; visit
diff --git a/pngtrans.c b/pngtrans.c
index 326ac33..065855c 100644
--- a/pngtrans.c
+++ b/pngtrans.c
@@ -708,7 +708,7 @@
        * forms produced on either GCC or MSVC.
        */
       int padding = PNG_PADBITS(row_info->pixel_depth, row_info->width);
-      png_bytep rp = png_ptr->row_buf + row_info->rowbytes;
+      png_bytep rp = png_ptr->row_buf + row_info->rowbytes - 1;
 
       switch (row_info->bit_depth)
       {