Skip to content

Commit

Permalink
Fix shift-sign issue in Convert.c (#7838)
Browse files Browse the repository at this point in the history
* Fix shift-sign issue in Convert.c

Fixes
```
libImaging/Convert.c:513:25: error: signed shift result (0xFF000000) sets the sign bit of the shift expression's type ('int') and becomes negative [-Werror,-Wshift-sign-overflow]
    UINT32 trns = (0xff << 24) | ((b & 0xff) << 16) | ((g & 0xff) << 8) | (r & 0xff);
                   ~~~~ ^  ~~
```

---------

Co-authored-by: Andrew Murray <[email protected]>
  • Loading branch information
r-barnes and radarhere authored Mar 9, 2024
1 parent 3f5721d commit 38cec87
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion src/libImaging/Convert.c
Original file line number Diff line number Diff line change
Expand Up @@ -510,7 +510,7 @@ rgbT2rgba(UINT8 *out, int xsize, int r, int g, int b) {
UINT32 trns = ((r & 0xff) << 24) | ((g & 0xff) << 16) | ((b & 0xff) << 8) | 0xff;
UINT32 repl = trns & 0xffffff00;
#else
UINT32 trns = (0xff << 24) | ((b & 0xff) << 16) | ((g & 0xff) << 8) | (r & 0xff);
UINT32 trns = (0xffU << 24) | ((b & 0xff) << 16) | ((g & 0xff) << 8) | (r & 0xff);
UINT32 repl = trns & 0x00ffffff;
#endif

Expand Down

0 comments on commit 38cec87

Please sign in to comment.