libtiff: LogLuvEncode32(): avoid undefined behaviour of left shift on a signed integer

https://github.com/libsdl-org/libtiff/commit/1adf4fa889f1b70a5b2e9b0bebd6d756399d5c16

From 1adf4fa889f1b70a5b2e9b0bebd6d756399d5c16 Mon Sep 17 00:00:00 2001
From: Even Rouault <[EMAIL REDACTED]>
Date: Sun, 6 Feb 2022 13:09:12 +0100
Subject: [PATCH] LogLuvEncode32(): avoid undefined behaviour of left shift on
 a signed integer

---
 libtiff/tif_luv.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libtiff/tif_luv.c b/libtiff/tif_luv.c
index 4aa5ee98..72ab3668 100644
--- a/libtiff/tif_luv.c
+++ b/libtiff/tif_luv.c
@@ -579,7 +579,7 @@ LogLuvEncode32(TIFF* tif, uint8_t* bp, tmsize_t cc, uint16_t s)
 	uint32_t* tp;
 	uint32_t b;
 	tmsize_t occ;
-	int rc=0, mask;
+	int rc=0;
 	tmsize_t beg;
 
         (void)s;
@@ -603,6 +603,7 @@ LogLuvEncode32(TIFF* tif, uint8_t* bp, tmsize_t cc, uint16_t s)
 	op = tif->tif_rawcp;
 	occ = tif->tif_rawdatasize - tif->tif_rawcc;
 	for (shft = 24; shft >= 0; shft -=8) {
+		const uint32_t mask = 0xffU << shft;		/* find next run */
 		for (i = 0; i < npixels; i += rc) {
 			if (occ < 4) {
 				tif->tif_rawcp = op;
@@ -612,7 +613,6 @@ LogLuvEncode32(TIFF* tif, uint8_t* bp, tmsize_t cc, uint16_t s)
 				op = tif->tif_rawcp;
 				occ = tif->tif_rawdatasize - tif->tif_rawcc;
 			}
-			mask = 0xff << shft;		/* find next run */
 			for (beg = i; beg < npixels; beg += rc) {
 				b = tp[beg] & mask;
 				rc = 1;