Merge pull request #6368 from GPUCode/msvc-dup

Check fd before using dup
This commit is contained in:
BreadFish64 2023-03-24 10:29:55 -05:00 committed by GitHub
commit 5317c00c45
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1187,6 +1187,8 @@ void OpenFStream<std::ios_base::in>(
boost_iostreams<boost::iostreams::file_descriptor_source>& fstream, boost_iostreams<boost::iostreams::file_descriptor_source>& fstream,
const std::string& filename) { const std::string& filename) {
IOFile file(filename, "r"); IOFile file(filename, "r");
if (file.GetFd() == -1)
return;
int fd = dup(file.GetFd()); int fd = dup(file.GetFd());
if (fd == -1) if (fd == -1)
return; return;
@ -1199,6 +1201,8 @@ template <>
void OpenFStream<std::ios_base::out>( void OpenFStream<std::ios_base::out>(
boost_iostreams<boost::iostreams::file_descriptor_sink>& fstream, const std::string& filename) { boost_iostreams<boost::iostreams::file_descriptor_sink>& fstream, const std::string& filename) {
IOFile file(filename, "w"); IOFile file(filename, "w");
if (file.GetFd() == -1)
return;
int fd = dup(file.GetFd()); int fd = dup(file.GetFd());
if (fd == -1) if (fd == -1)
return; return;