From 70430b009714b7f5c585dfd045b7f8273cfd011f Mon Sep 17 00:00:00 2001 From: Gergul Date: Sun, 19 Jan 2020 18:24:53 +0800 Subject: [PATCH] fix crashed (#186) multipart::createAsyncFilePartReader("/path/to/file"); When the path "/path/to/file" is not exist. it will crashed. --- src/oatpp/core/data/stream/FileStream.cpp | 4 ++-- src/oatpp/core/parser/Caret.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) 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;