summaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended/libarchive/libarchive/CVE-2022-36227.patch
diff options
context:
space:
mode:
authorHitendra Prajapati <hprajapati@mvista.com>2022-12-08 12:56:27 +0530
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-12-23 23:05:44 +0000
commit3ff484966d0b2cde97fd53852df689d7cf1f8f3a (patch)
tree30453853dab8bc868d4b126e2c90d17f5621a185 /meta/recipes-extended/libarchive/libarchive/CVE-2022-36227.patch
parentb4fc8a65f51796154fb9eba9eb05dc068fe0673b (diff)
downloadpoky-3ff484966d0b2cde97fd53852df689d7cf1f8f3a.tar.gz
libarchive: CVE-2022-36227 NULL pointer dereference in archive_write.c
Upstream-Status: Backport from https://github.com/libarchive/libarchive/commit/bff38efe8c110469c5080d387bec62a6ca15b1a5 (From OE-Core rev: c39fd8264ac623f3cfb26305420b527dd9c4c891) Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com> Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-extended/libarchive/libarchive/CVE-2022-36227.patch')
-rw-r--r--meta/recipes-extended/libarchive/libarchive/CVE-2022-36227.patch43
1 files changed, 43 insertions, 0 deletions
diff --git a/meta/recipes-extended/libarchive/libarchive/CVE-2022-36227.patch b/meta/recipes-extended/libarchive/libarchive/CVE-2022-36227.patch
new file mode 100644
index 0000000000..980a0e884a
--- /dev/null
+++ b/meta/recipes-extended/libarchive/libarchive/CVE-2022-36227.patch
@@ -0,0 +1,43 @@
1From 6311080bff566fcc5591dadfd78efb41705b717f Mon Sep 17 00:00:00 2001
2From: obiwac <obiwac@gmail.com>
3Date: Fri, 22 Jul 2022 22:41:10 +0200
4Subject: [PATCH] CVE-2022-36227
5
6libarchive: CVE-2022-36227 Handle a `calloc` returning NULL (fixes #1754)
7
8Upstream-Status: Backport [https://github.com/libarchive/libarchive/commit/bff38efe8c110469c5080d387bec62a6ca15b1a5]
9CVE: CVE-2022-36227
10Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com
11---
12 libarchive/archive_write.c | 8 ++++++++
13 1 file changed, 8 insertions(+)
14
15diff --git a/libarchive/archive_write.c b/libarchive/archive_write.c
16index 98a55fb..7fe88b6 100644
17--- a/libarchive/archive_write.c
18+++ b/libarchive/archive_write.c
19@@ -211,6 +211,10 @@ __archive_write_allocate_filter(struct archive *_a)
20 struct archive_write_filter *f;
21
22 f = calloc(1, sizeof(*f));
23+
24+ if (f == NULL)
25+ return (NULL);
26+
27 f->archive = _a;
28 f->state = ARCHIVE_WRITE_FILTER_STATE_NEW;
29 if (a->filter_first == NULL)
30@@ -527,6 +531,10 @@ archive_write_open(struct archive *_a, void *client_data,
31 a->client_data = client_data;
32
33 client_filter = __archive_write_allocate_filter(_a);
34+
35+ if (client_filter == NULL)
36+ return (ARCHIVE_FATAL);
37+
38 client_filter->open = archive_write_client_open;
39 client_filter->write = archive_write_client_write;
40 client_filter->close = archive_write_client_close;
41--
422.25.1
43