diff options
author | Glenn Randers-Pehrson <glennrp at users.sourceforge.net> | 2010-10-13 07:31:14 -0500 |
---|---|---|
committer | Glenn Randers-Pehrson <glennrp at users.sourceforge.net> | 2010-10-13 07:31:14 -0500 |
commit | 79b2d64a672b3bf657bfacc9d0b0cae6293e34f2 (patch) | |
tree | e50768f7d1ee968982e48b69409b6ae331d19073 /pngset.c | |
parent | e34f80e5aa20c7b0d17d681290aa21cfcb027ba6 (diff) | |
download | libpng-79b2d64a672b3bf657bfacc9d0b0cae6293e34f2.tar.gz |
[devel] also check for negative out-of-range text compression mode
Diffstat (limited to 'pngset.c')
-rw-r--r-- | pngset.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -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; |