From 9b9a61ca77c65c0dbc71a94cc80aac0f4453999b Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Mon, 4 May 2020 13:06:41 +0200 Subject: [PATCH] avformat/nutenc: Add goto fail in nut_write_headers() It allows to combine several ffio_free_dyn_buf(). Reviewed-by: Michael Niedermayer Signed-off-by: Andreas Rheinhardt --- libavformat/nutenc.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/libavformat/nutenc.c b/libavformat/nutenc.c index 6125429cc3..c1606651fe 100644 --- a/libavformat/nutenc.c +++ b/libavformat/nutenc.c @@ -632,8 +632,7 @@ static int write_headers(AVFormatContext *avctx, AVIOContext *bc) for (i = 0; i < nut->avf->nb_streams; i++) { ret = write_streamheader(avctx, dyn_bc, nut->avf->streams[i], i); if (ret < 0) { - ffio_free_dyn_buf(&dyn_bc); - return ret; + goto fail; } put_packet(nut, bc, dyn_bc, STREAM_STARTCODE); } @@ -646,16 +645,14 @@ static int write_headers(AVFormatContext *avctx, AVIOContext *bc) if (ret > 0) put_packet(nut, bc, dyn_bc, INFO_STARTCODE); else if (ret < 0) { - ffio_free_dyn_buf(&dyn_bc); - return ret; + goto fail; } } for (i = 0; i < nut->avf->nb_chapters; i++) { ret = write_chapter(nut, dyn_bc, i); if (ret < 0) { - ffio_free_dyn_buf(&dyn_bc); - return ret; + goto fail; } put_packet(nut, bc, dyn_bc, INFO_STARTCODE); } @@ -663,9 +660,11 @@ static int write_headers(AVFormatContext *avctx, AVIOContext *bc) nut->last_syncpoint_pos = INT_MIN; nut->header_count++; + ret = 0; +fail: ffio_free_dyn_buf(&dyn_bc); - return 0; + return ret; } static int nut_write_header(AVFormatContext *s)