fix error string memory errors
diff --git a/tinyxml2.h b/tinyxml2.h
index 4fe2ab5..4379f01 100755
--- a/tinyxml2.h
+++ b/tinyxml2.h
@@ -127,12 +127,12 @@
         NEEDS_NEWLINE_NORMALIZATION		= 0x02,

         NEEDS_WHITESPACE_COLLAPSING     = 0x04,

 

-        TEXT_ELEMENT		            	= NEEDS_ENTITY_PROCESSING | NEEDS_NEWLINE_NORMALIZATION,

+        TEXT_ELEMENT		            = NEEDS_ENTITY_PROCESSING | NEEDS_NEWLINE_NORMALIZATION,

         TEXT_ELEMENT_LEAVE_ENTITIES		= NEEDS_NEWLINE_NORMALIZATION,

-        ATTRIBUTE_NAME		            	= 0,

-        ATTRIBUTE_VALUE		            	= NEEDS_ENTITY_PROCESSING | NEEDS_NEWLINE_NORMALIZATION,

-        ATTRIBUTE_VALUE_LEAVE_ENTITIES  	= NEEDS_NEWLINE_NORMALIZATION,

-        COMMENT				        = NEEDS_NEWLINE_NORMALIZATION

+        ATTRIBUTE_NAME		            = 0,

+        ATTRIBUTE_VALUE		            = NEEDS_ENTITY_PROCESSING | NEEDS_NEWLINE_NORMALIZATION,

+        ATTRIBUTE_VALUE_LEAVE_ENTITIES  = NEEDS_NEWLINE_NORMALIZATION,

+        COMMENT							= NEEDS_NEWLINE_NORMALIZATION

     };

 

     StrPair() : _flags( 0 ), _start( 0 ), _end( 0 ) {}

@@ -164,9 +164,9 @@
     char* ParseName( char* in );

 

     void TransferTo( StrPair* other );

+	void Reset();

 

 private:

-    void Reset();

     void CollapseWhitespace();

 

     enum {

@@ -1759,11 +1759,11 @@
 

     /// Return a possibly helpful diagnostic location or string.

     const char* GetErrorStr1() const {

-        return _errorStr1;

+        return _errorStr1.GetStr();

     }

     /// Return a possibly helpful secondary diagnostic location or string.

     const char* GetErrorStr2() const {

-        return _errorStr2;

+        return _errorStr2.GetStr();

     }

     /// If there is an error, print it to stdout.

     void PrintError() const;

@@ -1789,8 +1789,8 @@
     bool        _processEntities;

     XMLError    _errorID;

     Whitespace  _whitespace;

-    const char* _errorStr1;

-    const char* _errorStr2;

+    mutable StrPair		_errorStr1;

+    mutable StrPair		_errorStr2;

     char*       _charBuffer;

 

     MemPoolT< sizeof(XMLElement) >	 _elementPool;