aboutsummaryrefslogtreecommitdiff
path: root/package/libexif/0003-Reduce-maximum-recursion-depth-in-exif_data_load_dat.patch
blob: e662d6bfc9b1f07c8107088147499d893318bc53 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
From 5d28011c40ec86cf52cffad541093d37c263898a Mon Sep 17 00:00:00 2001
From: Dan Fandrich <dan@coneharvesters.com>
Date: Fri, 20 Apr 2018 18:05:19 +0200
Subject: [PATCH] Reduce maximum recursion depth in exif_data_load_data_content

This only needs to be a small, single digit integer for normal files,
and reducing the maximum closer to this reduces the time and space
needed to detect pathological cases.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
 libexif/exif-data.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libexif/exif-data.c b/libexif/exif-data.c
index 91f4c33..04cdda2 100644
--- a/libexif/exif-data.c
+++ b/libexif/exif-data.c
@@ -378,7 +378,7 @@ exif_data_load_data_content (ExifData *data, ExifIfd ifd,
 	if ((((int)ifd) < 0) || ( ((int)ifd) >= EXIF_IFD_COUNT))
 	  return;
 
-	if (recursion_depth > 30) {
+	if (recursion_depth > 12) {
 		exif_log (data->priv->log, EXIF_LOG_CODE_CORRUPT_DATA, "ExifData",
 			  "Deep recursion detected!");
 		return;
-- 
2.20.1