From ad8ecfbdd9ff184b60600a115247a6aa947d0215 Mon Sep 17 00:00:00 2001 From: Helmut Grohne Date: Sat, 17 May 2025 22:10:00 +0200 Subject: [PATCH] voc: word width should never be 0 to avoid division by zero Bug: https://sourceforge.net/p/sox/bugs/351/ Bug-Debian: https://bugs.debian.org/1010374 This patch fixes both CVE-2021-3643 and CVE-2021-23210. Upstream: https://sourceforge.net/p/sox/bugs/351/ Signed-off-by: Thomas Petazzoni --- src/voc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/voc.c b/src/voc.c index a75639e9..0ca07f94 100644 --- a/src/voc.c +++ b/src/voc.c @@ -625,6 +625,10 @@ static int getblock(sox_format_t * ft) v->rate = new_rate_32; ft->signal.rate = new_rate_32; lsx_readb(ft, &uc); + if (uc <= 1) { + lsx_fail_errno(ft, SOX_EFMT, "2 bits per word required"); + return (SOX_EOF); + } v->size = uc; lsx_readb(ft, &uc); if (v->channels != -1 && uc != v->channels) { -- 2.49.0