# HG changeset patch # User reimar # Date 1321031713 0 # Node ID f4c0388ddc74015450d01edcc459b25ad0d3294c # Parent c363052bde0b91d90f3b94968f4db9690301e0d4 Sanitize channel count for libaf to avoid crashes since it is used unchecked. af_downmix is an example of a function that can/will crash for invalid values. 0 is not invalid since it is used as "autodetect" for output. diff -r c363052bde0b -r f4c0388ddc74 libaf/af.c --- a/libaf/af.c Thu Nov 10 16:31:07 2011 +0000 +++ b/libaf/af.c Fri Nov 11 17:15:13 2011 +0000 @@ -664,5 +664,9 @@ void af_fix_parameters(af_data_t *data) { + if (data->nch < 0 || data->nch > AF_NCH) { + mp_msg(MSGT_AFILTER, MSGL_ERR, "Invalid number of channels %i, assuming 2.\n", data->nch); + data->nch = 2; + } data->bps = af_fmt2bits(data->format)/8; }