summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-oe/recipes-multimedia/audiofile/audiofile_0.3.6.bb2
-rw-r--r--meta-oe/recipes-multimedia/audiofile/files/CVE-2019-13147.patch31
-rw-r--r--meta-oe/recipes-multimedia/audiofile/files/CVE-2022-24599.patch50
3 files changed, 83 insertions, 0 deletions
diff --git a/meta-oe/recipes-multimedia/audiofile/audiofile_0.3.6.bb b/meta-oe/recipes-multimedia/audiofile/audiofile_0.3.6.bb
index 50df31c7b9..fd80729bd2 100644
--- a/meta-oe/recipes-multimedia/audiofile/audiofile_0.3.6.bb
+++ b/meta-oe/recipes-multimedia/audiofile/audiofile_0.3.6.bb
@@ -18,6 +18,8 @@ SRC_URI = " \
18 file://0006-Check-for-multiplication-overflow-in-sfconvert.patch \ 18 file://0006-Check-for-multiplication-overflow-in-sfconvert.patch \
19 file://0007-Actually-fail-when-error-occurs-in-parseFormat.patch \ 19 file://0007-Actually-fail-when-error-occurs-in-parseFormat.patch \
20 file://0008-Check-for-multiplication-overflow-in-MSADPCM-decodeS.patch \ 20 file://0008-Check-for-multiplication-overflow-in-MSADPCM-decodeS.patch \
21 file://CVE-2019-13147.patch \
22 file://CVE-2022-24599.patch \
21" 23"
22SRC_URI[sha256sum] = "ea2449ad3f201ec590d811db9da6d02ffc5e87a677d06b92ab15363d8cb59782" 24SRC_URI[sha256sum] = "ea2449ad3f201ec590d811db9da6d02ffc5e87a677d06b92ab15363d8cb59782"
23 25
diff --git a/meta-oe/recipes-multimedia/audiofile/files/CVE-2019-13147.patch b/meta-oe/recipes-multimedia/audiofile/files/CVE-2019-13147.patch
new file mode 100644
index 0000000000..19f6892f69
--- /dev/null
+++ b/meta-oe/recipes-multimedia/audiofile/files/CVE-2019-13147.patch
@@ -0,0 +1,31 @@
1This patch is taken from opensuse:
2https://build.opensuse.org/package/show/multimedia:libs/audiofile
3
4CVE: CVE-2019-13147
5Upstream-Status: Inactive-Upstream [lastcommit: 2016-Aug-30]
6Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
7
8diff --unified --recursive --text --new-file --color audiofile-0.3.6/libaudiofile/NeXT.cpp audiofile-0.3.6.new/libaudiofile/NeXT.cpp
9--- audiofile-0.3.6/libaudiofile/NeXT.cpp 2013-03-06 13:30:03.000000000 +0800
10+++ audiofile-0.3.6.new/libaudiofile/NeXT.cpp 2025-05-14 10:45:11.685700984 +0800
11@@ -32,6 +32,7 @@
12 #include <stdint.h>
13 #include <stdlib.h>
14 #include <string.h>
15+#include <limits.h>
16
17 #include "File.h"
18 #include "Setup.h"
19@@ -122,6 +123,12 @@
20 _af_error(AF_BAD_CHANNELS, "invalid file with 0 channels");
21 return AF_FAIL;
22 }
23+ /* avoid overflow of INT for double size rate */
24+ if (channelCount > (INT32_MAX / (sizeof(double))))
25+ {
26+ _af_error(AF_BAD_CHANNELS, "invalid file with %i channels", channelCount);
27+ return AF_FAIL;
28+ }
29
30 Track *track = allocateTrack();
31 if (!track)
diff --git a/meta-oe/recipes-multimedia/audiofile/files/CVE-2022-24599.patch b/meta-oe/recipes-multimedia/audiofile/files/CVE-2022-24599.patch
new file mode 100644
index 0000000000..9214d80172
--- /dev/null
+++ b/meta-oe/recipes-multimedia/audiofile/files/CVE-2022-24599.patch
@@ -0,0 +1,50 @@
1This patch is taken from opensuse:
2https://build.opensuse.org/package/show/multimedia:libs/audiofile
3
4CVE: CVE-2022-24599
5Upstream-Status: Inactive-Upstream [lastcommit: 2016-Aug-30]
6Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
7
8diff --unified --recursive --text --new-file --color audiofile-0.3.6.old/sfcommands/printinfo.c audiofile-0.3.6.new/sfcommands/printinfo.c
9--- audiofile-0.3.6.old/sfcommands/printinfo.c 2013-03-06 13:30:03.000000000 +0800
10+++ audiofile-0.3.6.new/sfcommands/printinfo.c 2025-04-30 15:18:24.778177640 +0800
11@@ -37,6 +37,7 @@
12 #include <stdint.h>
13 #include <stdio.h>
14 #include <stdlib.h>
15+#include <limits.h>
16
17 static char *copyrightstring (AFfilehandle file);
18
19@@ -147,7 +148,11 @@
20 int i, misccount;
21
22 misccount = afGetMiscIDs(file, NULL);
23- miscids = (int *) malloc(sizeof (int) * misccount);
24+ if (!misccount)
25+ return NULL;
26+ miscids = (int *)calloc(misccount, sizeof(int));
27+ if (!miscids)
28+ return NULL;
29 afGetMiscIDs(file, miscids);
30
31 for (i=0; i<misccount; i++)
32@@ -159,13 +164,16 @@
33 If this code executes, the miscellaneous chunk is a
34 copyright chunk.
35 */
36- int datasize = afGetMiscSize(file, miscids[i]);
37- char *data = (char *) malloc(datasize);
38+ size_t datasize = afGetMiscSize(file, miscids[i]);
39+ if (datasize >= INT_MAX - 1)
40+ goto error;
41+ char *data = (char *)calloc(datasize + 1, sizeof(char));
42 afReadMisc(file, miscids[i], data, datasize);
43 copyright = data;
44 break;
45 }
46
47+error:
48 free(miscids);
49
50 return copyright;