lkml.org 
[lkml]   [2023]   [Jul]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH] isofs: fix undefined behavior in iso_date()
Date
From: Linke Li <lilinke99@gmail.com>

Fix undefined behavior in the code by properly handling the left shift operaion.
Instead of left-shifting a negative value, explicitly cast -1 to an unsigned int
before the shift. This ensures well defined behavior and resolves any potential
issues.

Signed-off-by: Linke Li <lilinke99@gmail.com>
---
fs/isofs/util.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/isofs/util.c b/fs/isofs/util.c
index e88dba721661..4c902901401a 100644
--- a/fs/isofs/util.c
+++ b/fs/isofs/util.c
@@ -37,7 +37,7 @@ int iso_date(u8 *p, int flag)

/* sign extend */
if (tz & 0x80)
- tz |= (-1 << 8);
+ tz |= ((unsigned int)-1 << 8);

/*
* The timezone offset is unreliable on some disks,
--
2.25.1
\
 
 \ /
  Last update: 2023-07-09 08:52    [W:0.066 / U:0.212 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site