From 71afcadadbae515484fa0e021291ae67a1684dfc Mon Sep 17 00:00:00 2001 From: Jeffrey Walton Date: Sat, 18 Mar 2017 09:48:54 -0400 Subject: [PATCH] Clear Coverity STREAM_FORMAT_STATE (CID 177736, 177737, 177732) Yet another attempt to clear the stream state finding. --- validate.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/validate.h b/validate.h index c8aa436f..ad690c28 100644 --- a/validate.h +++ b/validate.h @@ -121,6 +121,7 @@ bool TestHuffmanCodes(); bool TestASN1Parse(); #endif +#if 0 // Coverity findings in benchmark and validation routines class StreamState { @@ -145,6 +146,26 @@ private: std::ios_base::fmtflags m_fmt; std::ostream::char_type m_fill; }; +#endif + +class StreamState +{ +public: + StreamState(std::ostream& out) + : m_out(out), m_state(NULLPTR) + { + m_state.copyfmt(m_out); + } + + ~StreamState() + { + m_out.copyfmt(m_state); + } + +private: + std::ostream& m_out; + std::ios m_state; +}; // Safer functions on Windows for C&A, https://github.com/weidai11/cryptopp/issues/55 static std::string TimeToString(const time_t& t)