# HG changeset patch # User michael # Date 1264425970 0 # Node ID d99420b73262f82a544597b309e741e3a440ddfa # Parent bc62e28267826e716ef551cb9be099b39b482a7b Fix heap overflow due to lack of nb_components check. diff -r bc62e2826782 -r d99420b73262 mjpegdec.c --- a/mjpegdec.c Mon Jan 25 10:46:32 2010 +0000 +++ b/mjpegdec.c Mon Jan 25 13:26:10 2010 +0000 @@ -899,6 +899,10 @@ /* XXX: verify len field validity */ len = get_bits(&s->gb, 16); nb_components = get_bits(&s->gb, 8); + if (nb_components == 0 || nb_components > MAX_COMPONENTS){ + av_log(s->avctx, AV_LOG_ERROR, "decode_sos: nb_components (%d) unsupported\n", nb_components); + return -1; + } if (len != 6+2*nb_components) { av_log(s->avctx, AV_LOG_ERROR, "decode_sos: invalid len (%d)\n", len);