diff options
| author | Arseny Kapoulkine <arseny.kapoulkine@gmail.com> | 2014-10-02 16:28:50 +0000 | 
|---|---|---|
| committer | Arseny Kapoulkine <arseny.kapoulkine@gmail.com> | 2014-10-02 16:28:50 +0000 | 
| commit | e376ba731fb1531ab836c137d04bbc38abd832b8 (patch) | |
| tree | 830975ac409ea1d4df85780355326b2a52fe8187 /src | |
| parent | 59409f70ef52036cecced28d3e7d95f52de9a26a (diff) | |
Fix copy behavior when out-of-memory
Also remove accidentally committed pragma pack :-/
git-svn-id: https://pugixml.googlecode.com/svn/trunk@1041 99668b35-9821-0410-8761-19e4c4f06640
Diffstat (limited to 'src')
| -rw-r--r-- | src/pugixml.cpp | 16 | 
1 files changed, 9 insertions, 7 deletions
diff --git a/src/pugixml.cpp b/src/pugixml.cpp index 78e5a57..d1dafcb 100644 --- a/src/pugixml.cpp +++ b/src/pugixml.cpp @@ -1,4 +1,3 @@ -#pragma pack(push, 16)  /**   * pugixml parser - version 1.4   * -------------------------------------------------------- @@ -3666,13 +3665,16 @@ PUGI__NS_BEGIN  			{  				xml_node copy(append_new_node(destit.internal_object(), alloc, sourceit.type())); -				node_copy_contents(copy, sourceit, shared_alloc); - -				if (sourceit.first_child()) +				if (copy)  				{ -					destit = copy; -					sourceit = sourceit.first_child(); -					continue; +					node_copy_contents(copy, sourceit, shared_alloc); + +					if (sourceit.first_child()) +					{ +						destit = copy; +						sourceit = sourceit.first_child(); +						continue; +					}  				}  			}  | 
