diff --git a/io/las/LasReader.cpp b/io/las/LasReader.cpp index a21a17ae63..6b3a2524ab 100644 --- a/io/las/LasReader.cpp +++ b/io/las/LasReader.cpp @@ -826,6 +826,7 @@ void LasReader::done(PointTableRef) m_unzipper.reset(); #endif destroyStream(); + m_initialized = false; } } // namespace pdal diff --git a/io/las/LasReader.hpp b/io/las/LasReader.hpp index 4ab4e62dd0..7794c14bef 100644 --- a/io/las/LasReader.hpp +++ b/io/las/LasReader.hpp @@ -88,7 +88,14 @@ class PDAL_DLL LasReader : public pdal::Reader return m_istream; } virtual void destroyStream() - { FileUtils::closeFile(m_istream); m_istream = NULL; m_initialized = false; } + { + if (m_istream && m_initialized) + { + FileUtils::closeFile(m_istream); + m_istream = NULL; + m_initialized = false; + } + } private: LasError m_error; LasHeader m_lasHeader;