--- ffmpeg/libavcodec/cuviddec.c~	2018-10-07 12:00:58.000000000 +0200
+++ ffmpeg/libavcodec/cuviddec.c	2018-10-07 12:06:56.964915736 +0200
@@ -849,7 +849,7 @@
         goto error;
     }
 
-    ctx->frame_queue = av_fifo_alloc(ctx->nb_surfaces * sizeof(CuvidParsedFrame));
+    ctx->frame_queue = av_fifo_alloc((ctx->nb_surfaces + 2) * sizeof(CuvidParsedFrame));
     if (!ctx->frame_queue) {
         ret = AVERROR(ENOMEM);
         goto error;
@@ -1052,7 +1052,7 @@
 
     av_fifo_freep(&ctx->frame_queue);
 
-    ctx->frame_queue = av_fifo_alloc(ctx->nb_surfaces * sizeof(CuvidParsedFrame));
+    ctx->frame_queue = av_fifo_alloc((ctx->nb_surfaces + 2) * sizeof(CuvidParsedFrame));
     if (!ctx->frame_queue) {
         av_log(avctx, AV_LOG_ERROR, "Failed to recreate frame queue on flush\n");
         return;
