summaryrefslogtreecommitdiff
path: root/pngset.c
diff options
context:
space:
mode:
authorGlenn Randers-Pehrson <glennrp at users.sourceforge.net>2010-10-13 07:31:14 -0500
committerGlenn Randers-Pehrson <glennrp at users.sourceforge.net>2010-10-13 07:31:14 -0500
commit79b2d64a672b3bf657bfacc9d0b0cae6293e34f2 (patch)
treee50768f7d1ee968982e48b69409b6ae331d19073 /pngset.c
parente34f80e5aa20c7b0d17d681290aa21cfcb027ba6 (diff)
downloadlibpng-79b2d64a672b3bf657bfacc9d0b0cae6293e34f2.tar.gz
[devel] also check for negative out-of-range text compression mode
Diffstat (limited to 'pngset.c')
-rw-r--r--pngset.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/pngset.c b/pngset.c
index e49bf6dc4..a87b3e066 100644
--- a/pngset.c
+++ b/pngset.c
@@ -677,14 +677,15 @@ png_set_text_2(png_structp png_ptr, png_infop info_ptr,
if (text_ptr[i].key == NULL)
continue;
- key_len = png_strlen(text_ptr[i].key);
-
- if (text_ptr[i].compression >= PNG_TEXT_COMPRESSION_LAST)
+ if (text_ptr[i].compression < PNG_TEXT_COMPRESSION_NONE ||
+ text_ptr[i].compression >= PNG_TEXT_COMPRESSION_LAST)
{
png_warning(png_ptr, "text compression mode is out of range");
continue;
}
+ key_len = png_strlen(text_ptr[i].key);
+
if (text_ptr[i].compression <= 0)
{
lang_len = 0;