You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
pread and pwrite returns 64bit values (when 64 IO used, of course). Returning values are checked for errors like this
FB_UINT64 bytes;
...
if ((bytes = pread(file->fil_desc, page, size, LSEEK_OFFSET_CAST offset)) == size)
break;
if (bytes == -1U && !SYSCALL_INTERRUPTED(errno))
return unix_error("read", file, isc_io_read_err, status_vector);
But -1U is 4294967295 and function returns -1UL (18446744073709551615) so check doesn't work.
Submitted by: @dmitry-starodubov
pread and pwrite returns 64bit values (when 64 IO used, of course). Returning values are checked for errors like this
FB_UINT64 bytes;
...
if ((bytes = pread(file->fil_desc, page, size, LSEEK_OFFSET_CAST offset)) == size)
break;
if (bytes == -1U && !SYSCALL_INTERRUPTED(errno))
return unix_error("read", file, isc_io_read_err, status_vector);
But -1U is 4294967295 and function returns -1UL (18446744073709551615) so check doesn't work.
Commits: ba516f6 78510ed
The text was updated successfully, but these errors were encountered: