aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches/wavpack-CVE-2018-7253.patch
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2018-02-24 21:49:30 +0100
committerMarius Bakke <mbakke@fastmail.com>2018-02-24 21:49:30 +0100
commite58bf025df9ea1450e94fb63e87afc1fa5afd182 (patch)
tree358c2dc04c675fc58088cdfcf42ab1a7755f71ea /gnu/packages/patches/wavpack-CVE-2018-7253.patch
parent9102ce124c807a6a3d9e8f492adafd830cf833f3 (diff)
parente8ee100e8eb46224d5549dffc707cfeb96ad0e21 (diff)
downloadguix-e58bf025df9ea1450e94fb63e87afc1fa5afd182.tar
guix-e58bf025df9ea1450e94fb63e87afc1fa5afd182.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/packages/patches/wavpack-CVE-2018-7253.patch')
-rw-r--r--gnu/packages/patches/wavpack-CVE-2018-7253.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/gnu/packages/patches/wavpack-CVE-2018-7253.patch b/gnu/packages/patches/wavpack-CVE-2018-7253.patch
new file mode 100644
index 0000000000..651755afd0
--- /dev/null
+++ b/gnu/packages/patches/wavpack-CVE-2018-7253.patch
@@ -0,0 +1,29 @@
+Fix CVE-2018-7253:
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7253
+
+Copied from upstream:
+https://github.com/dbry/WavPack/commit/36a24c7881427d2e1e4dc1cef58f19eee0d13aec
+
+diff --git a/cli/dsdiff.c b/cli/dsdiff.c
+index 410dc1c..c016df9 100644
+--- a/cli/dsdiff.c
++++ b/cli/dsdiff.c
+@@ -153,7 +153,17 @@ int ParseDsdiffHeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpa
+ error_line ("dsdiff file version = 0x%08x", version);
+ }
+ else if (!strncmp (dff_chunk_header.ckID, "PROP", 4)) {
+- char *prop_chunk = malloc ((size_t) dff_chunk_header.ckDataSize);
++ char *prop_chunk;
++
++ if (dff_chunk_header.ckDataSize < 4 || dff_chunk_header.ckDataSize > 1024) {
++ error_line ("%s is not a valid .DFF file!", infilename);
++ return WAVPACK_SOFT_ERROR;
++ }
++
++ if (debug_logging_mode)
++ error_line ("got PROP chunk of %d bytes total", (int) dff_chunk_header.ckDataSize);
++
++ prop_chunk = malloc ((size_t) dff_chunk_header.ckDataSize);
+
+ if (!DoReadFile (infile, prop_chunk, (uint32_t) dff_chunk_header.ckDataSize, &bcount) ||
+ bcount != dff_chunk_header.ckDataSize) {