[vlc-devel] [PATCH 1/1] [transcode] Fix allocation of picture_t without full initialization

Laurent Aimar fenrir at via.ecp.fr
Tue Nov 4 20:45:36 CET 2008


On Tue, Nov 04, 2008, David Flynn wrote:
> -    p_pic = malloc( sizeof(picture_t) );
> +    p_pic = picture_New( p_dec->fmt_out.video.i_chroma,
> +                         p_dec->fmt_out.video.i_width,
> +                         p_dec->fmt_out.video.i_height,
> +                         p_dec->fmt_out.video.i_aspect );
>      if( !p_pic ) return NULL;
>      p_dec->fmt_out.video.i_chroma = p_dec->fmt_out.i_codec;
> -    vout_AllocatePicture( VLC_OBJECT(p_dec), p_pic,
> -                          p_dec->fmt_out.video.i_chroma,
> -                          p_dec->fmt_out.video.i_width,
> -                          p_dec->fmt_out.video.i_height,
> -                          p_dec->fmt_out.video.i_aspect );
> -
> -    if( !p_pic->i_planes )
> -    {
> -        free( p_pic );
> -        return NULL;
> -    }
> -
> -    p_pic->pf_release = video_release_buffer;
> -    p_pic->p_sys = malloc( sizeof(picture_sys_t) );
> +    p_pic->p_sys = calloc( 1, sizeof(picture_sys_t) );
>      if( !p_pic->p_sys )
>      {
> -        free( p_pic );
> +        p_pic->pf_release( p_pic );
 Using picture_Release would be cleaner.
Otherwise, it seems fine and thanks for your patches.

-- 
fenrir



More information about the vlc-devel mailing list