diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 132739f8c890ea7e8ce3b14966d7af2952b25d22..56f3c47e8732546cf07614b3efd7d8a9746d25aa 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -1644,8 +1644,6 @@ static int decode_update_thread_context(AVCodecContext *dst,
     copy_fields(h, h1, poc_lsb, redundant_pic_count);
 
     // reference lists
-    copy_fields(h, h1, ref_count, list_count);
-    copy_fields(h, h1, ref2frm, intra_gb);
     copy_fields(h, h1, short_ref, cabac_init_idc);
 
     copy_picture_range(h->short_ref, h1->short_ref, 32, h, h1);
diff --git a/libavformat/flvdec.c b/libavformat/flvdec.c
index 482e876d6e6cb5b072d1f84c938d99691852aed7..d0511f1582a97ce3cb15d1b85de30fe681f30b41 100644
--- a/libavformat/flvdec.c
+++ b/libavformat/flvdec.c
@@ -212,10 +212,14 @@ static int flv_set_video_codec(AVFormatContext *s, AVStream *vstream, int flv_co
                 vcodec->codec_id = AV_CODEC_ID_VP6A;
             if (read) {
                 if (vcodec->extradata_size != 1) {
-                    vcodec->extradata_size = 1;
                     vcodec->extradata = av_malloc(1 + FF_INPUT_BUFFER_PADDING_SIZE);
+                    if (vcodec->extradata)
+                        vcodec->extradata_size = 1;
                 }
-                vcodec->extradata[0] = avio_r8(s->pb);
+                if (vcodec->extradata)
+                    vcodec->extradata[0] = avio_r8(s->pb);
+                else
+                    avio_skip(s->pb, 1);
             }
             return 1; // 1 byte body size adjustment for flv_read_packet()
         case FLV_CODECID_H264: