Replacing `fopen_s()`/`_wfopen_s()`, to allow customizing share mode,
and keep the sharing mode as was with `fopen()`/`_wopen()` earlier and
as used in `_sopen_s()`/`_wsopen_s()`.
The replaced functions used `_SH_SECURE` internally. Otherwise they are
identical to the replacements.
Ref: https://learn.microsoft.com/cpp/c-runtime-library/reference/fsopen-wfsopen
Reported-by: Jay Satiro
Fixes #20155
Ref: #20156
Follow-up to
1e7d0bafc6d25d98ec72ff419df65fda3cf147a7 #19643
Closes #20186
target = fixed;
else
target = filename_w;
- errno = _wfopen_s(&result, target, mode_w);
+ result = _wfsopen(target, mode_w, _SH_DENYNO);
}
else
/* !checksrc! disable ERRNOVAR 1 */
target = fixed;
else
target = filename;
- errno = fopen_s(&result, target, mode);
+ result = _fsopen(target, mode, _SH_DENYNO);
#endif
CURLX_FREE(fixed);