Fix infinite recursion in CPDF_Parser::ParseIndirectObjectAt().
[pdfium.git] / core / include / fxcrt / fx_basic.h
index 62324f5..7ad44c6 100644 (file)
@@ -1414,6 +1414,21 @@ protected:
 
     CFX_DataFilter*    m_pDestFilter;
 };
+
+template<typename T>
+class CFX_AutoRestorer {
+public:
+    explicit CFX_AutoRestorer(T* location) {
+      m_Location = location;
+      m_OldValue = *location;
+    }
+    ~CFX_AutoRestorer() { *m_Location = m_OldValue; }
+
+private:
+  T* m_Location;
+  T m_OldValue;
+};
+
 template <class T>
 class CFX_SmartPointer
 {