summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorTimo Rothenpieler <timo@rothenpieler.org>2017-11-15 18:33:31 +0100
committerTimo Rothenpieler <timo@rothenpieler.org>2017-11-17 23:34:18 +0100
commit4e93f00b06d9623ea9639ba7185cdacdf11c2672 (patch)
tree923031ba4a40dd2116d921cf67fd375a6a843e74 /libavcodec
parent15b019e40adb1fdc25f7ba1aca8f473619d07ae7 (diff)
avcodec/nvenc: check pop_context return value
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/nvenc.c16
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)