mirror of https://github.com/AxioDL/tinyxml2.git
Merge pull request #245 from Dmitry-Me/ensureCapacityPreAsserts
Pre-asserts to ensure no overflow happens
This commit is contained in:
commit
eaddfd8768
|
@ -288,7 +288,9 @@ public:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void EnsureCapacity( int cap ) {
|
void EnsureCapacity( int cap ) {
|
||||||
|
TIXMLASSERT( cap > 0 );
|
||||||
if ( cap > _allocated ) {
|
if ( cap > _allocated ) {
|
||||||
|
TIXMLASSERT( cap <= INT_MAX / 2 );
|
||||||
int newAllocated = cap * 2;
|
int newAllocated = cap * 2;
|
||||||
T* newMem = new T[newAllocated];
|
T* newMem = new T[newAllocated];
|
||||||
memcpy( newMem, _mem, sizeof(T)*_size ); // warning: not using constructors, only works for PODs
|
memcpy( newMem, _mem, sizeof(T)*_size ); // warning: not using constructors, only works for PODs
|
||||||
|
|
Loading…
Reference in New Issue