From 48780b4fcc425cddc4ef8ffdf536f96a0d1b313b Mon Sep 17 00:00:00 2001
From: erouault <erouault>
Date: Wed, 11 Jan 2017 16:38:26 +0000
Subject: [PATCH] * libtiff/tif_getimage.c: add explicit uint32 cast in putagreytile to
avoid UndefinedBehaviorSanitizer warning.
Patch by Nicolas Pena.
Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2658

Upstream-Status: Backport
CVE: CVE-2017-7592
Signed-off-by: Rajkumar Veer <rveer@mvista.com>

Index: tiff-4.0.7/ChangeLog
===================================================================
--- tiff-4.0.7.orig/ChangeLog	2017-04-24 14:25:10.143926025 +0530
+++ tiff-4.0.7/ChangeLog	2017-04-24 15:20:21.291839230 +0530
@@ -1,3 +1,10 @@
+2017-01-11 Even Rouault <even.rouault at spatialys.com>
+
+	* libtiff/tif_getimage.c: add explicit uint32 cast in putagreytile to
+	avoid UndefinedBehaviorSanitizer warning.
+	Patch by Nicolas Pena.
+	Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2658
+
 2016-12-03 Even Rouault <even.rouault at spatialys.com>
 
 	* libtiff/tif_dirread.c: modify ChopUpSingleUncompressedStrip() to
Index: tiff-4.0.7/libtiff/tif_getimage.c
===================================================================
--- tiff-4.0.7.orig/libtiff/tif_getimage.c	2016-11-18 08:17:45.000000000 +0530
+++ tiff-4.0.7/libtiff/tif_getimage.c	2017-04-24 15:17:46.671843283 +0530
@@ -1305,7 +1305,7 @@
     while (h-- > 0) {
 	for (x = w; x-- > 0;)
         {
-            *cp++ = BWmap[*pp][0] & (*(pp+1) << 24 | ~A1);
+            *cp++ = BWmap[*pp][0] & ((uint32)*(pp+1) << 24 | ~A1);
             pp += samplesperpixel;
         }
 	cp += toskew;
