diff --git a/src/oatpp/core/data/stream/FileStream.cpp b/src/oatpp/core/data/stream/FileStream.cpp index 034bf113..7e292147 100644 --- a/src/oatpp/core/data/stream/FileStream.cpp +++ b/src/oatpp/core/data/stream/FileStream.cpp @@ -48,7 +48,7 @@ FileInputStream::FileInputStream(const char* filename) } FileInputStream::~FileInputStream() { - if(m_ownsFile) { + if(m_ownsFile && m_file) { std::fclose(m_file); } } @@ -94,7 +94,7 @@ FileOutputStream::FileOutputStream(const char* filename, const char* mode) } FileOutputStream::~FileOutputStream() { - if(m_ownsFile) { + if(m_ownsFile && m_file) { std::fclose(m_file); } } diff --git a/src/oatpp/core/parser/Caret.cpp b/src/oatpp/core/parser/Caret.cpp index 94ac1b8d..5e8281db 100644 --- a/src/oatpp/core/parser/Caret.cpp +++ b/src/oatpp/core/parser/Caret.cpp @@ -100,7 +100,7 @@ Caret::StateSaveGuard::StateSaveGuard(Caret& caret) , m_savedErrorCode(caret.m_errorCode) {} - Caret::StateSaveGuard::~StateSaveGuard() { +Caret::StateSaveGuard::~StateSaveGuard() { m_caret.m_pos = m_savedPosition; m_caret.m_errorMessage = m_savedErrorMessage; m_caret.m_errorCode = m_savedErrorCode;