Procházet zdrojové kódy

Pre-asserts to ensure no overflow happens

Dmitry-Me před 11 roky
rodič
revize
9fae869124
1 změnil soubory, kde provedl 2 přidání a 0 odebrání
  1. 2 0
      tinyxml2.h

+ 2 - 0
tinyxml2.h

@@ -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