diff options
Diffstat (limited to 'meta/recipes-multimedia/libtiff/files/CVE-2016-9535-2.patch')
-rw-r--r-- | meta/recipes-multimedia/libtiff/files/CVE-2016-9535-2.patch | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/meta/recipes-multimedia/libtiff/files/CVE-2016-9535-2.patch b/meta/recipes-multimedia/libtiff/files/CVE-2016-9535-2.patch new file mode 100644 index 0000000000..977dbf6c87 --- /dev/null +++ b/meta/recipes-multimedia/libtiff/files/CVE-2016-9535-2.patch | |||
@@ -0,0 +1,67 @@ | |||
1 | From 6a984bf7905c6621281588431f384e79d11a2e33 Mon Sep 17 00:00:00 2001 | ||
2 | From: erouault <erouault> | ||
3 | Date: Fri, 4 Nov 2016 09:19:13 +0000 | ||
4 | Subject: [PATCH 2/2] Fix CVE-2016-9535 | ||
5 | * libtiff/tif_predic.c: fix memory leaks in error code | ||
6 | paths added in previous commit (fix for MSVR 35105) | ||
7 | |||
8 | CVE: CVE-2016-9535 | ||
9 | Upstream-Status: Backport | ||
10 | https://github.com/vadz/libtiff/commit/6a984bf7905c6621281588431f384e79d11a2e33 | ||
11 | |||
12 | Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> | ||
13 | |||
14 | --- | ||
15 | libtiff/tif_predict.c | 8 ++++++-- | ||
16 | 1 files changed, 11 insertions(+), 2 deletions(-) | ||
17 | |||
18 | diff --git a/libtiff/tif_predict.c b/libtiff/tif_predict.c | ||
19 | index b829259..3f42f3b 100644 | ||
20 | --- a/libtiff/tif_predict.c | ||
21 | +++ b/libtiff/tif_predict.c | ||
22 | @@ -409,7 +409,7 @@ fpAcc(TIFF* tif, uint8* cp0, tmsize_t cc) | ||
23 | tmsize_t wc = cc / bps; | ||
24 | tmsize_t count = cc; | ||
25 | uint8 *cp = (uint8 *) cp0; | ||
26 | - uint8 *tmp = (uint8 *)_TIFFmalloc(cc); | ||
27 | + uint8 *tmp; | ||
28 | |||
29 | if(cc%(bps*stride)!=0) | ||
30 | { | ||
31 | @@ -418,6 +418,7 @@ fpAcc(TIFF* tif, uint8* cp0, tmsize_t cc) | ||
32 | return 0; | ||
33 | } | ||
34 | |||
35 | + tmp = (uint8 *)_TIFFmalloc(cc); | ||
36 | if (!tmp) | ||
37 | return 0; | ||
38 | |||
39 | @@ -640,7 +641,7 @@ fpDiff(TIFF* tif, uint8* cp0, tmsize_t cc) | ||
40 | tmsize_t wc = cc / bps; | ||
41 | tmsize_t count; | ||
42 | uint8 *cp = (uint8 *) cp0; | ||
43 | - uint8 *tmp = (uint8 *)_TIFFmalloc(cc); | ||
44 | + uint8 *tmp; | ||
45 | |||
46 | if((cc%(bps*stride))!=0) | ||
47 | { | ||
48 | @@ -648,6 +649,8 @@ fpDiff(TIFF* tif, uint8* cp0, tmsize_t cc) | ||
49 | "%s", "(cc%(bps*stride))!=0"); | ||
50 | return 0; | ||
51 | } | ||
52 | + | ||
53 | + tmp = (uint8 *)_TIFFmalloc(cc); | ||
54 | if (!tmp) | ||
55 | return 0; | ||
56 | |||
57 | @@ -722,6 +725,7 @@ PredictorEncodeTile(TIFF* tif, uint8* bp0, tmsize_t cc0, uint16 s) | ||
58 | { | ||
59 | TIFFErrorExt(tif->tif_clientdata, "PredictorEncodeTile", | ||
60 | "%s", "(cc0%rowsize)!=0"); | ||
61 | + _TIFFfree( working_copy ); | ||
62 | return 0; | ||
63 | } | ||
64 | while (cc > 0) { | ||
65 | -- | ||
66 | 2.9.3 | ||
67 | |||