X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=include%2Fvlc_arrays.h;h=b8dbae473ccc7f428c7f79a3ed9ff90fb2eae9aa;hb=12ade3e3bc975d5426ba4af155b7372c31093b31;hp=90ef202247651ad6ea44bb50440ae3ae93d32fda;hpb=ad77d955a5dc051976d94d6e08ee0f717ec3a938;p=vlc diff --git a/include/vlc_arrays.h b/include/vlc_arrays.h index 90ef202247..b8dbae473c 100644 --- a/include/vlc_arrays.h +++ b/include/vlc_arrays.h @@ -48,14 +48,15 @@ static inline void *realloc_down( void *ptr, size_t size ) #define INSERT_ELEM( p_ar, i_oldsize, i_pos, elem ) \ do \ { \ - if( !i_oldsize ) (p_ar) = NULL; \ + if( !(i_oldsize) ) (p_ar) = NULL; \ (p_ar) = VLCCVP realloc( p_ar, ((i_oldsize) + 1) * sizeof(*(p_ar)) ); \ + if( !(p_ar) ) abort(); \ if( (i_oldsize) - (i_pos) ) \ { \ memmove( (p_ar) + (i_pos) + 1, (p_ar) + (i_pos), \ ((i_oldsize) - (i_pos)) * sizeof( *(p_ar) ) ); \ } \ - (p_ar)[i_pos] = elem; \ + (p_ar)[(i_pos)] = elem; \ (i_oldsize)++; \ } \ while( 0 ) @@ -99,6 +100,7 @@ static inline void *realloc_down( void *ptr, size_t size ) (tab) = cast realloc( tab, sizeof( void ** ) * ( (count) + 1 ) ); \ else \ (tab) = cast malloc( sizeof( void ** ) ); \ + if( !(tab) ) abort(); \ (tab)[count] = (p); \ (count)++; \ } while(0) @@ -149,6 +151,7 @@ static inline void *realloc_down( void *ptr, size_t size ) (tab) = cast realloc( tab, sizeof( void ** ) * ( (count) + 1 ) ); \ else \ (tab) = cast malloc( sizeof( void ** ) ); \ + if( !(tab) ) abort(); \ if( (count) - (index) > 0 ) \ memmove( (void**)(tab) + (index) + 1, \ (void**)(tab) + (index), \ @@ -197,6 +200,7 @@ static inline void *realloc_down( void *ptr, size_t size ) (array).i_alloc = newsize; \ (array).p_elems = VLCCVP realloc( (array).p_elems, (array).i_alloc * \ sizeof(*(array).p_elems) ); \ + if( !(array).p_elems ) abort(); \ } #define _ARRAY_GROW1(array) { \