Merge pull request #245 from Dmitry-Me/ensureCapacityPreAsserts
Pre-asserts to ensure no overflow happens
diff --git a/tinyxml2.h b/tinyxml2.h
index dd1b2cd..35da4d9 100755
--- a/tinyxml2.h
+++ b/tinyxml2.h
@@ -288,7 +288,9 @@
private:
void EnsureCapacity( int cap ) {
+ TIXMLASSERT( cap > 0 );
if ( cap > _allocated ) {
+ TIXMLASSERT( cap <= INT_MAX / 2 );
int newAllocated = cap * 2;
T* newMem = new T[newAllocated];
memcpy( newMem, _mem, sizeof(T)*_size ); // warning: not using constructors, only works for PODs