Skip to content

Commit b8ccd38

Browse files
committed
updated for version 7.4.026
Problem: Clang warning for int shift overflow. Solution: Use unsigned and cast back to int. (Dominique Pelle)
1 parent 54ddb4b commit b8ccd38

File tree

2 files changed

+11
-7
lines changed

2 files changed

+11
-7
lines changed

src/misc2.c

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6496,13 +6496,15 @@ get3c(fd)
64966496
get4c(fd)
64976497
FILE *fd;
64986498
{
6499-
int n;
6500-
6501-
n = getc(fd);
6502-
n = (n << 8) + getc(fd);
6503-
n = (n << 8) + getc(fd);
6504-
n = (n << 8) + getc(fd);
6505-
return n;
6499+
/* Use unsigned rather than int otherwise result is undefined
6500+
* when left-shift sets the MSB. */
6501+
unsigned n;
6502+
6503+
n = (unsigned)getc(fd);
6504+
n = (n << 8) + (unsigned)getc(fd);
6505+
n = (n << 8) + (unsigned)getc(fd);
6506+
n = (n << 8) + (unsigned)getc(fd);
6507+
return (int)n;
65066508
}
65076509

65086510
/*

src/version.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -738,6 +738,8 @@ static char *(features[]) =
738738

739739
static int included_patches[] =
740740
{ /* Add new patch number below this line */
741+
/**/
742+
26,
741743
/**/
742744
25,
743745
/**/

0 commit comments

Comments
 (0)