Fix overflow in Windows replacement pg_pread/pg_pwrite.
authorThomas Munro <tmunro@postgresql.org>
Sat, 2 Mar 2024 19:40:41 +0000 (08:40 +1300)
committerThomas Munro <tmunro@postgresql.org>
Sat, 2 Mar 2024 19:40:41 +0000 (08:40 +1300)
commit1e013746544bd1f9df70f5547894fd72719c4b85
tree0c8693ce73a54ae140660ecd45fa3e75018bb533
parent653b55b57081dc6fb8c75d61870c5fdc8c8554cc
Fix overflow in Windows replacement pg_pread/pg_pwrite.

When calling the Windows file I/O APIs there is an implicit conversion
from size_t to DWORD, which could overflow.  Clamp the size at 1GB to
avoid that.

Not a really a live bug as we don't expect anything in PostgreSQL to
call with such large values.

Reviewed-by: Peter Eisentraut <peter@eisentraut.org>
Discussion: https://postgr.es/m/1672202.1703441340%40sss.pgh.pa.us
src/port/win32pread.c
src/port/win32pwrite.c