sox-devel@lists.sourceforge.net unofficial mirror
 help / color / mirror / code / Atom feed
From: Eric Wong <normalperson@yhbt.net>
To: "Måns Rullgård" <mans@mansr.com>
Cc: sox-devel@lists.sourceforge.net
Subject: [PATCH v2] adpcm: fix stack overflow (CVE-2017-15372)
Date: Tue, 7 Nov 2017 23:38:23 +0000	[thread overview]
Message-ID: <20171107233823.GB7497@starla> (raw)
In-Reply-To: <20171107233751.GA7497@starla>

---
 src/adpcm.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/adpcm.c b/src/adpcm.c
index 2e13867e..b400eb95 100644
--- a/src/adpcm.c
+++ b/src/adpcm.c
@@ -113,7 +113,13 @@ const char *lsx_ms_adpcm_block_expand_i(
   const unsigned char *ip;
   unsigned ch;
   const char *errmsg = NULL;
-  MsState_t state[4];  /* One decompressor state for each channel */
+
+  /* One decompressor state for each channel */
+  MsState_t *state;
+  size_t size = sizeof(*state) * chans;
+  const size_t alloca_max = 1024;
+
+  state = size > alloca_max ? lsx_malloc(size) : alloca(size);
 
   /* Read the four-byte header for each channel */
   ip = ibuff;
@@ -158,6 +164,10 @@ const char *lsx_ms_adpcm_block_expand_i(
       if (++ch2 == chans) ch2 = 0;
     }
   }
+
+  if (size > alloca_max)
+    free(state);
+
   return errmsg;
 }
 
-- 
EW

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
SoX-devel mailing list
SoX-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sox-devel

  reply	other threads:[~2017-11-07 23:38 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-04  9:46 sox debian package Jaromír Mikeš
2017-11-04 18:23 ` Eric Wong
2017-11-04 20:10   ` Måns Rullgård
2017-11-04 20:43     ` Jaromír Mikeš
2017-11-05  1:40       ` Jaromír Mikeš
2017-11-05 12:32         ` Måns Rullgård
2017-11-05 15:03           ` Jaromír Mikeš
2017-11-05 15:42             ` Måns Rullgård
2017-11-05 17:12 ` Måns Rullgård
2017-11-05 17:19   ` Jaromír Mikeš
2017-11-05 22:37     ` Jaromír Mikeš
2017-11-07  1:14   ` [PATCH] adpcm: fix stack overflow (CVE-2017-15372) Eric Wong
2017-11-07  9:26     ` Måns Rullgård
2017-11-07  9:41       ` Jaromír Mikeš
2017-11-07  9:53         ` Måns Rullgård
2017-11-07 17:54       ` Eric Wong
2017-11-07 18:12         ` Måns Rullgård
2017-11-07 23:37           ` Eric Wong
2017-11-07 23:38             ` Eric Wong [this message]
2017-11-08  7:43               ` [PATCH v2] " Hans Petter Selasky
2017-11-08 11:07                 ` Måns Rullgård
2017-11-08 11:15                   ` Hans Petter Selasky
2017-11-08 11:33                     ` Måns Rullgård
2017-11-07 23:43             ` [PATCH] " Måns Rullgård
2017-11-07 23:55               ` Eric Wong
2017-11-07 23:58                 ` Måns Rullgård
2017-11-08  0:29                   ` [PATCH] adpcm: fix stack overflow with >4 channels (CVE-2017-15372) Mans Rullgard
2017-11-08  0:42                     ` Eric Wong
2017-11-08  0:52                       ` Måns Rullgård
2017-11-08  3:24                         ` Eric Wong
2017-11-08 10:54                           ` Måns Rullgård

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.sourceforge.net/lists/listinfo/sox-devel

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171107233823.GB7497@starla \
    --to=sox-devel@lists.sourceforge.net \
    --cc=mans@mansr.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/sox.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).