summaryrefslogtreecommitdiffstats
path: root/meta/recipes-multimedia/libtiff/files/libtiff-CVE-2013-4243.patch
blob: 642a1179768572ea7d856fc13feb08559859a13c (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
31
32
33
34
35
36
37
38
39
40
This patch comes from: http://bugzilla.maptools.org/attachment.cgi?id=518&action=diff#tools/gif2tiff.c_sec2

Upstream-Status: Pending

Signed-off-by: Baogen shang <baogen.shang@windriver.com>
--- a/tools/gif2tiff.c	2013-10-14 17:08:43.966239709 +0800
+++ b/tools/gif2tiff.c	2013-10-14 17:18:22.994239638 +0800
@@ -280,6 +280,10 @@
         fprintf(stderr, "no colormap present for image\n");
         return (0);
     }
+    if (width == 0 || height == 0) {
+        fprintf(stderr, "Invalid value of width or height\n");
+        return(0);
+    }
     if ((raster = (unsigned char*) _TIFFmalloc(width*height+EXTRAFUDGE)) == NULL) {
         fprintf(stderr, "not enough memory for image\n");
         return (0);
@@ -397,6 +401,10 @@
 	return 1;
     }
 
+    if (*fill >= raster + width*height) {
+        fprintf(stderr, "raster full before eoi code\n");
+        return 0;
+    }
     if (oldcode == -1) {
 	*(*fill)++ = suffix[code];
 	firstchar = oldcode = code;
@@ -428,6 +436,10 @@
     }
     oldcode = incode;
     do {
+    if (*fill >= raster + width*height) {
+        fprintf(stderr, "raster full before eoi code\n");
+        return 0;
+    }
 	*(*fill)++ = *--stackp;
     } while (stackp > stack);
     return 1;