Pre-asserts to ensure no overflow happens

This commit is contained in:
Dmitry-Me 2014-12-22 17:59:59 +03:00
parent ebb0c8f904
commit 9fae869124
1 changed files with 2 additions and 0 deletions

View File

@ -288,7 +288,9 @@ public:
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