| From a79ec216cd119069c68b8f3542c6a425a74ab993 Mon Sep 17 00:00:00 2001 |
| From: =?UTF-8?q?Guido=20G=C3=BCnther?= <agx@sigxcpu.org> |
| Date: Tue, 31 Oct 2017 18:32:46 +0100 |
| Subject: [PATCH] CVE-2017-14633: Don't allow for more than 256 channels |
| |
| Otherwise |
| |
| for(i=0;i<vi->channels;i++){ |
| /* the encoder setup assumes that all the modes used by any |
| specific bitrate tweaking use the same floor */ |
| int submap=info->chmuxlist[i]; |
| |
| overreads later in mapping0_forward since chmuxlist is a fixed array of |
| 256 elements max. |
| |
| Signed-off-by: Peter Korsgaard <peter@korsgaard.com> |
| --- |
| lib/info.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/lib/info.c b/lib/info.c |
| index fe759ed..7bc4ea4 100644 |
| --- a/lib/info.c |
| +++ b/lib/info.c |
| @@ -588,7 +588,7 @@ int vorbis_analysis_headerout(vorbis_dsp_state *v, |
| oggpack_buffer opb; |
| private_state *b=v->backend_state; |
| |
| - if(!b||vi->channels<=0){ |
| + if(!b||vi->channels<=0||vi->channels>256){ |
| ret=OV_EFAULT; |
| goto err_out; |
| } |
| -- |
| 2.11.0 |
| |