]> git.sesse.net Git - vlc/blobdiff - modules/codec/theora.c
Replace argument = realloc( argument, size ); with realloc_or_free() in modules/...
[vlc] / modules / codec / theora.c
index df5b4844df285e027bb814a2a7196fc556cd254f..8f5e328f02499f90cf508194a403604aaf1aa2df 100644 (file)
 # include "config.h"
 #endif
 
+#include <assert.h>
+
 #include <vlc_common.h>
 #include <vlc_plugin.h>
 #include <vlc_codec.h>
 #include <vlc_sout.h>
 #include <vlc_input.h>
+#include <vlc_memory.h>
 #include <ogg/ogg.h>
 
 #include <theora/theora.h>
@@ -215,9 +218,9 @@ static void *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
         /* Backup headers as extra data */
         uint8_t *p_extra;
 
-        p_dec->fmt_in.p_extra =
-            realloc( p_dec->fmt_in.p_extra, p_dec->fmt_in.i_extra +
-                     oggpacket.bytes + 2 );
+        p_dec->fmt_in.p_extra = realloc_or_free( p_dec->fmt_in.p_extra,
+                                p_dec->fmt_in.i_extra + oggpacket.bytes + 2 );
+        assert( p_dec->fmt_in.p_extra );
         p_extra = ((uint8_t *)p_dec->fmt_in.p_extra) + p_dec->fmt_in.i_extra;
         *(p_extra++) = oggpacket.bytes >> 8;
         *(p_extra++) = oggpacket.bytes & 0xFF;
@@ -404,8 +407,9 @@ static int ProcessHeaders( decoder_t *p_dec )
     else
     {
         p_dec->fmt_out.i_extra = p_dec->fmt_in.i_extra;
-        p_dec->fmt_out.p_extra =
-            realloc( p_dec->fmt_out.p_extra, p_dec->fmt_out.i_extra );
+        p_dec->fmt_out.p_extra = realloc_or_free( p_dec->fmt_out.p_extra,
+                                                  p_dec->fmt_out.i_extra );
+        assert( p_dec->fmt_out.p_extra );
         memcpy( p_dec->fmt_out.p_extra,
                 p_dec->fmt_in.p_extra, p_dec->fmt_out.i_extra );
     }
@@ -706,9 +710,9 @@ static int OpenEncoder( vlc_object_t *p_this )
         else if( i == 1 ) theora_encode_comment( &p_sys->tc, &header );
         else if( i == 2 ) theora_encode_tables( &p_sys->td, &header );
 
-        p_enc->fmt_out.p_extra =
-            realloc( p_enc->fmt_out.p_extra,
-                     p_enc->fmt_out.i_extra + header.bytes );
+        p_enc->fmt_out.p_extra = realloc_or_free( p_enc->fmt_out.p_extra,
+                                      p_enc->fmt_out.i_extra + header.bytes );
+        assert( p_enc->fmt_out.p_extra );
         p_extra = p_enc->fmt_out.p_extra;
         p_extra += p_enc->fmt_out.i_extra + (i-3)*2;
         p_enc->fmt_out.i_extra += header.bytes;