aboutsummaryrefslogtreecommitdiff
path: root/gst-libs/ext/libav/libavcodec/vorbisdec.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst-libs/ext/libav/libavcodec/vorbisdec.c')
-rw-r--r--gst-libs/ext/libav/libavcodec/vorbisdec.c8
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;