[FFmpeg-devel] [PATCH] avformat/aviobuf: zero initialize the AVIOContext in ffio_init_context()

wm4 nfxjfg at googlemail.com
Wed Feb 14 07:17:12 EET 2018


On Tue, 13 Feb 2018 22:27:49 -0300
James Almer <jamrial at gmail.com> wrote:

> This makes sure no field is ever used uninitialized.
> 
> Signed-off-by: James Almer <jamrial at gmail.com>
> ---
> I think i prefer this one.
> 
>  libavformat/aviobuf.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c
> index 86eb6579f4..d63db3897f 100644
> --- a/libavformat/aviobuf.c
> +++ b/libavformat/aviobuf.c
> @@ -87,6 +87,8 @@ int ffio_init_context(AVIOContext *s,
>                    int (*write_packet)(void *opaque, uint8_t *buf, int buf_size),
>                    int64_t (*seek)(void *opaque, int64_t offset, int whence))
>  {
> +    memset(s, 0, sizeof(AVIOContext));
> +
>      s->buffer      = buffer;
>      s->orig_buffer_size =
>      s->buffer_size = buffer_size;
> @@ -135,7 +137,7 @@ AVIOContext *avio_alloc_context(
>                    int (*write_packet)(void *opaque, uint8_t *buf, int buf_size),
>                    int64_t (*seek)(void *opaque, int64_t offset, int whence))
>  {
> -    AVIOContext *s = av_mallocz(sizeof(AVIOContext));
> +    AVIOContext *s = av_malloc(sizeof(AVIOContext));
>      if (!s)
>          return NULL;
>      ffio_init_context(s, buffer, buffer_size, write_flag, opaque,

There are a lot of calls to ffio_init_context() - is it sure that there
are no fields that must be preserved?

I'd probably prefer "*s = (AVIOContext){0};", but that's just me.


More information about the ffmpeg-devel mailing list