diff options
author | Timo Rothenpieler <timo@rothenpieler.org> | 2017-11-15 18:33:31 +0100 |
---|---|---|
committer | Timo Rothenpieler <timo@rothenpieler.org> | 2017-11-17 23:34:18 +0100 |
commit | 4e93f00b06d9623ea9639ba7185cdacdf11c2672 (patch) | |
tree | 923031ba4a40dd2116d921cf67fd375a6a843e74 /libavcodec | |
parent | 15b019e40adb1fdc25f7ba1aca8f473619d07ae7 (diff) | |
download | ffmpeg-4e93f00b06d9623ea9639ba7185cdacdf11c2672.tar.gz |
avcodec/nvenc: check pop_context return value
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/nvenc.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c index 0139e70c3b..e07280b568 100644 --- a/libavcodec/nvenc.c +++ b/libavcodec/nvenc.c @@ -1293,7 +1293,7 @@ static av_cold int nvenc_alloc_surface(AVCodecContext *avctx, int idx) static av_cold int nvenc_setup_surfaces(AVCodecContext *avctx) { NvencContext *ctx = avctx->priv_data; - int i, res; + int i, res = 0, res2; ctx->surfaces = av_mallocz_array(ctx->nb_surfaces, sizeof(*ctx->surfaces)); if (!ctx->surfaces) @@ -1320,17 +1320,15 @@ static av_cold int nvenc_setup_surfaces(AVCodecContext *avctx) for (i = 0; i < ctx->nb_surfaces; i++) { if ((res = nvenc_alloc_surface(avctx, i)) < 0) - { - nvenc_pop_context(avctx); - return res; - } + goto fail; } - res = nvenc_pop_context(avctx); - if (res < 0) - return res; +fail: + res2 = nvenc_pop_context(avctx); + if (res2 < 0) + return res2; - return 0; + return res; } static av_cold int nvenc_setup_extradata(AVCodecContext *avctx) |