From b0ea438723d4943a0164479e338313eb98e368db Mon Sep 17 00:00:00 2001
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Tue, 8 Aug 2023 01:35:48 +0200
Subject: ext2fs: Fix shift in ext2_new_block

Shifting signed integers left by 31 bits is not representable, so better
make sure to use unsigned integers.
---
 ext2fs/balloc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

(limited to 'ext2fs')

diff --git a/ext2fs/balloc.c b/ext2fs/balloc.c
index c921c0ca..14c18b5d 100644
--- a/ext2fs/balloc.c
+++ b/ext2fs/balloc.c
@@ -220,8 +220,8 @@ repeat:
 	    lmap |= (((uint32_t *) bh)[(j >> 5) + 1]) <<
 	      (31 - (j & 31));
 	  else
-	    lmap |= 0xffffffff << (31 - (j & 31));
-	  if (lmap != 0xffffffffl)
+	    lmap |= 0xffffffffu << (31 - (j & 31));
+	  if (lmap != 0xffffffffu)
 	    {
 	      k = ffz (lmap) + 1;
 	      if ((j + k) < le32toh (sblock->s_blocks_per_group))
-- 
cgit v1.2.3