From ea409a75dc4f54cbaaa587b632e9895cec908f78 Mon Sep 17 00:00:00 2001 From: Howard Butler Date: Wed, 10 Jun 2015 20:25:25 -0500 Subject: [PATCH] protect initialization of LasReader stream from destruction (NITF driver interaction --- io/las/LasReader.cpp | 1 + io/las/LasReader.hpp | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) 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;