Skip to content

Commit d37da39

Browse files
authored
Merge pull request #4377 from ubyte/ubsan-signed-overflow
Avoid undefined signed overflow
2 parents 81ea2b3 + 4437a81 commit d37da39

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

src/libImaging/ImagingUtils.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
#ifdef WORDS_BIGENDIAN
2-
#define MAKE_UINT32(u0, u1, u2, u3) (u3 | (u2<<8) | (u1<<16) | (u0<<24))
2+
#define MAKE_UINT32(u0, u1, u2, u3) ((UINT32)(u3) | ((UINT32)(u2)<<8) | ((UINT32)(u1)<<16) | ((UINT32)(u0)<<24))
33
#define MASK_UINT32_CHANNEL_0 0xff000000
44
#define MASK_UINT32_CHANNEL_1 0x00ff0000
55
#define MASK_UINT32_CHANNEL_2 0x0000ff00
66
#define MASK_UINT32_CHANNEL_3 0x000000ff
77
#else
8-
#define MAKE_UINT32(u0, u1, u2, u3) (u0 | (u1<<8) | (u2<<16) | (u3<<24))
8+
#define MAKE_UINT32(u0, u1, u2, u3) ((UINT32)(u0) | ((UINT32)(u1)<<8) | ((UINT32)(u2)<<16) | ((UINT32)(u3)<<24))
99
#define MASK_UINT32_CHANNEL_0 0x000000ff
1010
#define MASK_UINT32_CHANNEL_1 0x0000ff00
1111
#define MASK_UINT32_CHANNEL_2 0x00ff0000

0 commit comments

Comments
 (0)