file_util: Check fd before using dup
This commit is contained in:
parent
54385a54eb
commit
c7f8bc5582
|
@ -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;
|
||||||
|
|
Reference in New Issue