]> git.sesse.net Git - vlc/commitdiff
demux: mp4: fix memleak on error
authorFrancois Cartegnie <fcvlcdev@free.fr>
Sat, 7 Mar 2015 17:26:31 +0000 (18:26 +0100)
committerFrancois Cartegnie <fcvlcdev@free.fr>
Sat, 7 Mar 2015 17:30:39 +0000 (18:30 +0100)
modules/demux/mp4/mp4.c

index f5774541e6ff8929cd73e01eaeaf70c988a261ba..21ad874cc3bc1121520524bcd2d7f0388a0ad732 100644 (file)
@@ -2102,6 +2102,8 @@ static int TrackCreateSamplesIndex( demux_t *p_demux,
             ck->p_sample_delta_dts = calloc( i_entry, sizeof( uint32_t ) );
             if( !ck->p_sample_count_dts || !ck->p_sample_delta_dts )
             {
+                free( ck->p_sample_count_dts );
+                free( ck->p_sample_delta_dts );
                 msg_Err( p_demux, "can't allocate memory for i_entry=%"PRIu32, i_entry );
                 return VLC_ENOMEM;
             }
@@ -2199,6 +2201,8 @@ static int TrackCreateSamplesIndex( demux_t *p_demux,
             ck->p_sample_offset_pts = calloc( i_entry, sizeof( int32_t ) );
             if( !ck->p_sample_count_pts || !ck->p_sample_offset_pts )
             {
+                free( ck->p_sample_count_pts );
+                free( ck->p_sample_offset_pts );
                 msg_Err( p_demux, "can't allocate memory for i_entry=%"PRIu32, i_entry );
                 return VLC_ENOMEM;
             }