Skip to content

Commit a6788d1

Browse files
committed
libvncserver: scale: cast to 64 bit before shifting
Since pixel_value is 64 bit the data type of the shift operand should be 64 bit too to prevent integer overflows.
1 parent 67944bf commit a6788d1

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

Diff for: libvncserver/scale.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ void rfbScaledScreenUpdateRect(rfbScreenInfoPtr screen, rfbScreenInfoPtr ptr, in
210210
default:
211211
/* fixme: endianness problem? */
212212
for (z = 0; z < bytesPerPixel; z++)
213-
pixel_value += (srcptr2[z] << (8 * z));
213+
pixel_value += ((unsigned long)srcptr2[z] << (8 * z));
214214
break;
215215
}
216216
/*

0 commit comments

Comments
 (0)