Re: truncating casts of pgoff_t
Peter Eisentraut <peter@eisentraut.org>
From: Peter Eisentraut <peter@eisentraut.org>
To: Heikki Linnakangas <hlinnaka@iki.fi>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2026-07-07T09:59:29Z
Lists: pgsql-hackers
On 22.06.26 10:55, Heikki Linnakangas wrote: > Not that it makes much difference, but I'd suggest "if (histfilelen > > UINT32_MAX) elog(ERROR, ...)" here instead of an Assert. This isn't > performance critical and a better error message is always nice if > something weird happens. (I think on non-assertion builds, you'd get > "out of memory" error while trying to increase the send buffer). Ok, committed with an elog instead. > Not new with this patch, but I noticed that if the file increases in > size while we're reading it for some reason, we would read beyond the > originally calculated length. It really shouldn't happen, but it'd be > good to add an "nread <= bytesleft" check here, for the sake of robustness. Yes, this is being addressed in the thread "clean up size_t/ssize_t use with POSIX file system APIs".
Commits
-
Don't cast off_t to 32-bit type for output, bug fix
- c754d9311509 15 (unreleased) landed
- 67235209ca05 16 (unreleased) landed
- 4d99e6ed640e 17 (unreleased) landed
- 215ab56119e0 18 (unreleased) landed
- d4e2280b7e48 19 (unreleased) landed
- e8f851d61727 master landed