[libav-stable] dcadec: Validate the lfe parameter

Martin Storsjö git at libav.org
Fri Sep 20 13:17:42 CEST 2013


Module: libav
Branch: master
Commit: a9d50bb578ec04c085a25f1e023f75e0e4499d5e

Author:    Martin Storsjö <martin at martin.st>
Committer: Martin Storsjö <martin at martin.st>
Date:      Thu Sep 19 15:12:06 2013 +0300

dcadec: Validate the lfe parameter

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable at libav.org
Signed-off-by: Martin Storsjö <martin at martin.st>

---

 libavcodec/dcadec.c |    5 +++++
 1 file changed, 5 insertions(+)

diff --git a/libavcodec/dcadec.c b/libavcodec/dcadec.c
index 209bca3..2676c59 100644
--- a/libavcodec/dcadec.c
+++ b/libavcodec/dcadec.c
@@ -580,6 +580,11 @@ static int dca_parse_frame_header(DCAContext *s)
     s->lfe               = get_bits(&s->gb, 2);
     s->predictor_history = get_bits(&s->gb, 1);
 
+    if (s->lfe > 2) {
+        av_log(s->avctx, AV_LOG_ERROR, "Invalid LFE value: %d\n", s->lfe);
+        return AVERROR_INVALIDDATA;
+    }
+
     /* TODO: check CRC */
     if (s->crc_present)
         s->header_crc    = get_bits(&s->gb, 16);



More information about the libav-stable mailing list