summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdk-pixbuf/io-icns.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gdk-pixbuf/io-icns.c b/gdk-pixbuf/io-icns.c
index a432e463f..41732b153 100644
--- a/gdk-pixbuf/io-icns.c
+++ b/gdk-pixbuf/io-icns.c
@@ -95,7 +95,8 @@ load_resources (unsigned size, IN gpointer data, gsize datalen,
blocklen = GUINT32_FROM_BE (header->size);
/* Check that blocklen isn't garbage */
- if (blocklen > icnslen - (current - bytes))
+ if (blocklen > icnslen - (current - bytes) ||
+ blocklen < sizeof (IcnsBlockHeader))
return FALSE;
switch (size)