diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2012-10-29 22:40:07 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2012-10-29 23:42:58 +0900 |
| commit | f42199b46df776abb80f3095330660fc556b7623 (patch) | |
| tree | d493147fb23ba64d6c87789aad8ee56e9bdafa55 /src/XmlParser.cc | |
| parent | 8566d050ff69fb0493cce6d8534ee57a8bdf86df (diff) | |
Fixed resource leak
Diffstat (limited to 'src/XmlParser.cc')
| -rw-r--r-- | src/XmlParser.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/XmlParser.cc b/src/XmlParser.cc index c011927e..1a0ad331 100644 --- a/src/XmlParser.cc +++ b/src/XmlParser.cc @@ -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; |
