In the NT implementation of NSPR, PR_Read and PR_Write don't work right on big files. This is because we are not setting the OffsetHigh field of the OVERLAPPED structure, so OffsetHigh always has the value of 0. The reason we didn't notice this problem before is probably that PR_Read and PR_Write are wrong in the same way, so if a test (e.g., bigfile.c) uses PR_Read and PR_Write, data written to the wrong offset by PR_Write can still be read back correctly by PR_Read. I wrote two tests that use PR_Write with Win32 ReadFile or Win32 WriteFile with PR_Read, and was able to verify this bug with a file offset 0x100000000.
The two test programs are checked in: bigfile2.c and bigfile3.c. They still need more work.
NSPR now has its own Bugzilla product. Moving this bug to the NSPR product.
phillip gone, removing him from qa contact, sorry for spam
re-assign to firstname.lastname@example.org
Assignee: wtc → larryh
Status: ASSIGNED → NEW
Changed ntio.c to use the OffsetHigh member of the overlapped buffer. new revision: 22.214.171.124; previous revision: 126.96.36.199
Fixed. Changes reviewed by wtc.
Status: NEW → RESOLVED
Last Resolved: 19 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.