diff options
Diffstat (limited to 'gst-libs/ext/libav/libavcodec/vorbisdec.c')
-rw-r--r-- | gst-libs/ext/libav/libavcodec/vorbisdec.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gst-libs/ext/libav/libavcodec/vorbisdec.c b/gst-libs/ext/libav/libavcodec/vorbisdec.c index 22a2cf7..3c13947 100644 --- a/gst-libs/ext/libav/libavcodec/vorbisdec.c +++ b/gst-libs/ext/libav/libavcodec/vorbisdec.c @@ -203,7 +203,7 @@ static void vorbis_free(vorbis_context *vc) for (i = 0; i < vc->codebook_count; ++i) { av_free(vc->codebooks[i].codevectors); - free_vlc(&vc->codebooks[i].vlc); + ff_free_vlc(&vc->codebooks[i].vlc); } av_freep(&vc->codebooks); @@ -574,7 +574,11 @@ static int vorbis_parse_setup_hdr_floors(vorbis_context *vc) } // Precalculate order of x coordinates - needed for decode - ff_vorbis_ready_floor1_list(floor_setup->data.t1.list, floor_setup->data.t1.x_list_dim); + if (ff_vorbis_ready_floor1_list(vc->avccontext, + floor_setup->data.t1.list, + floor_setup->data.t1.x_list_dim)) { + return AVERROR_INVALIDDATA; + } } else if (floor_setup->floor_type == 0) { unsigned max_codebook_dim = 0; |