mirror of https://github.com/aria2/aria2
Fixed resource leak
parent
8566d050ff
commit
f42199b46d
|
@ -93,10 +93,12 @@ typename Parser::ResultType parseFile(Parser& parser,
|
|||
int fd;
|
||||
// TODO Overrode a2open(const char*,..) and a2open(const std::wstring&,..)
|
||||
while((fd = a2open(utf8ToWChar(filename).c_str(),
|
||||
O_BINARY | O_RDONLY, OPEN_MODE)) == -1 && fd != EINTR);
|
||||
O_BINARY | O_RDONLY, OPEN_MODE)) == -1
|
||||
&& errno != EINTR);
|
||||
if(fd == -1) {
|
||||
return Parser::ParserStateMachineType::noResult();
|
||||
}
|
||||
auto_delete_r<int, int> fdDeleter(fd, close);
|
||||
char buf[4096];
|
||||
ssize_t nread;
|
||||
ssize_t nproc;
|
||||
|
|
|
@ -47,11 +47,13 @@ bool parseFile(const std::string& filename, ParserStateMachine* psm)
|
|||
fd = STDIN_FILENO;
|
||||
} else {
|
||||
while((fd = a2open(utf8ToWChar(filename).c_str(),
|
||||
O_BINARY | O_RDONLY, OPEN_MODE)) == -1 && fd != EINTR);
|
||||
O_BINARY | O_RDONLY, OPEN_MODE)) == -1
|
||||
&& errno != EINTR);
|
||||
if(fd == -1) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
auto_delete_r<int, int> fdDeleter(fd, close);
|
||||
XmlParser ps(psm);
|
||||
char buf[4096];
|
||||
ssize_t nread;
|
||||
|
|
Loading…
Reference in New Issue