diff --git a/backport-libselinux-add-check-for-calloc-in-check_booleans.patch b/backport-libselinux-add-check-for-calloc-in-check_booleans.patch new file mode 100644 index 0000000000000000000000000000000000000000..a1f6cb3389276a0a7f475ab593e0cfdf4f36fc75 --- /dev/null +++ b/backport-libselinux-add-check-for-calloc-in-check_booleans.patch @@ -0,0 +1,33 @@ +From d8edd363be3184c5738438fde937fd5ebc2d4923 Mon Sep 17 00:00:00 2001 +From: Huaxin Lu +Date: Mon, 19 Jun 2023 07:17:02 +0800 +Subject: [PATCH] libselinux: add check for calloc in check_booleans + +Check the return value of calloc() to avoid null pointer reference. + +Signed-off-by: Huaxin Lu +Acked-by: Petr Lautrbach +--- + src/audit2why.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/audit2why.c b/src/audit2why.c +index ba1a66eb..8c4c07d5 100644 +--- a/src/audit2why.c ++++ b/src/audit2why.c +@@ -149,6 +149,12 @@ static int check_booleans(struct boolean_t **bools) + + if (fcnt > 0) { + *bools = calloc(sizeof(struct boolean_t), fcnt + 1); ++ if (!*bools) { ++ PyErr_SetString( PyExc_MemoryError, "Out of memory\n"); ++ free(foundlist); ++ return 0; ++ } ++ + struct boolean_t *b = *bools; + for (i = 0; i < fcnt; i++) { + int ctr = foundlist[i]; +-- +2.27.0 + diff --git a/libselinux.spec b/libselinux.spec index c8dfcf82231ffac7a8dd038c5351f9bc2cf36de2..b177550f79531c9291ff1310a05b9947712ac492 100644 --- a/libselinux.spec +++ b/libselinux.spec @@ -3,16 +3,17 @@ Name: libselinux Version: 3.5 -Release: 1 +Release: 2 License: Public Domain Summary: SELinux library and simple utilities Url: https://github.com/SELinuxProject/selinux/wiki Source0: https://github.com/SELinuxProject/selinux/releases/download/%{version}/libselinux-%{version}.tar.gz +Patch0001: backport-libselinux-add-check-for-calloc-in-check_booleans.patch Patch9000: do-malloc-trim-after-load-policy.patch BuildRequires: gcc python3-devel systemd swig pcre2-devel xz-devel -BuildRequires: ruby-devel libsepol-static python3-pip +BuildRequires: ruby-devel libsepol-static python3-pip python3-setuptools python3-wheel Requires: libsepol >= %{libsepol_version} pcre2 Conflicts: filesystem < 3, selinux-policy-base < 3.13.1-138 @@ -128,6 +129,10 @@ mv %{buildroot}%{_sbindir}/getconlist %{buildroot}%{_sbindir}/selinuxconlist %{_mandir}/ru/man8/* %changelog +* Tue Jul 25 2023 luhuaxin - 3.5-2 +- add check for calloc in check_booleans +- fix python build issue + * Mon Jul 17 2023 zhangguangzhi - 3.5-1 - update version to 3.5