summaryrefslogtreecommitdiff
path: root/pngset.c
diff options
context:
space:
mode:
authorGlenn Randers-Pehrson <glennrp at users.sourceforge.net>2012-12-09 20:28:26 -0600
committerGlenn Randers-Pehrson <glennrp at users.sourceforge.net>2012-12-09 20:28:26 -0600
commitb0673cb50f316651cf27aee7014a0edf3b52eecd (patch)
treeb4f513dbe573ac5a835fa97a352bac72da9c2af2 /pngset.c
parenta8488b78dcc172827fb358aef88007ff736a5a04 (diff)
downloadlibpng-b0673cb50f316651cf27aee7014a0edf3b52eecd.tar.gz
[libpng16] Ignore, with a warning, out-of-range value of num_trans in
png_set_tRNS().
Diffstat (limited to 'pngset.c')
-rw-r--r--pngset.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/pngset.c b/pngset.c
index 8c07eec3e..95975e665 100644
--- a/pngset.c
+++ b/pngset.c
@@ -897,6 +897,12 @@ png_set_tRNS(png_structp png_ptr, png_infop info_ptr,
if (png_ptr == NULL || info_ptr == NULL)
return;
+ if (num_trans < 0 || num_trans > PNG_MAX_PALETTE_LENGTH)
+ {
+ png_warning(png_ptr, "Ignoring invalid num_trans value");
+ return;
+ }
+
if (trans_alpha != NULL)
{
/* It may not actually be necessary to set png_ptr->trans_alpha here;