aboutsummaryrefslogtreecommitdiffstats
path: root/src/tag_ape.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/tag_ape.c')
-rw-r--r--src/tag_ape.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/tag_ape.c b/src/tag_ape.c
index ef921141b..7cbf32208 100644
--- a/src/tag_ape.c
+++ b/src/tag_ape.c
@@ -89,6 +89,9 @@ tag_ape_load(const char *file)
tagLen = GUINT32_FROM_LE(footer.length);
if (tagLen <= sizeof(footer) + 10)
goto fail;
+ if (tagLen > 1024 * 1024)
+ /* refuse to load more than one megabyte of tag data */
+ goto fail;
if (fseek(fp, size - tagLen, SEEK_SET))
goto fail;