The portable filesystem entry point promises negative errno-style failures, but the Windows implementation returns a constant -1 for most native API failures. Missing paths, denied access, invalid handles and sharing violations lose their identity before reaching callers. Substituting raw -GetLastError() everywhere would also be insufficient: Win32 codes and the portable errno domain are not interchangeable.
Source evidence at the head of #520:
Acceptance:
Related: #385 is the provider umbrella; #508 concerns network errors and does not cover filesystem failures.
Audit status: identified by static source inspection; the scenarios above have not been executed during this audit. The permalink fixes the reviewed revision; this report does not claim the defect was introduced by #520.
The portable filesystem entry point promises negative errno-style failures, but the Windows implementation returns a constant
-1for most native API failures. Missing paths, denied access, invalid handles and sharing violations lose their identity before reaching callers. Substituting raw-GetLastError()everywhere would also be insufficient: Win32 codes and the portable errno domain are not interchangeable.Source evidence at the head of #520:
// results on successpub fun openpub fun readAcceptance:
Related: #385 is the provider umbrella; #508 concerns network errors and does not cover filesystem failures.
Audit status: identified by static source inspection; the scenarios above have not been executed during this audit. The permalink fixes the reviewed revision; this report does not claim the defect was introduced by #520.