summaryrefslogtreecommitdiffstats
path: root/source/n
diff options
context:
space:
mode:
Diffstat (limited to 'source/n')
-rw-r--r--source/n/bluez/b94f1be656f34ea1363f5566ef63b847234c6dea.patch45
-rwxr-xr-xsource/n/bluez/bluez.SlackBuild4
2 files changed, 48 insertions, 1 deletions
diff --git a/source/n/bluez/b94f1be656f34ea1363f5566ef63b847234c6dea.patch b/source/n/bluez/b94f1be656f34ea1363f5566ef63b847234c6dea.patch
new file mode 100644
index 000000000..129c7b045
--- /dev/null
+++ b/source/n/bluez/b94f1be656f34ea1363f5566ef63b847234c6dea.patch
@@ -0,0 +1,45 @@
+From b94f1be656f34ea1363f5566ef63b847234c6dea Mon Sep 17 00:00:00 2001
+From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
+Date: Mon, 15 Apr 2024 10:48:58 -0400
+Subject: [PATCH] shared/uhid: Fix crash if bt_uhid_destroy free replay
+ structure
+
+Id replay structured has been allocated it shall be set back to NULL
+after calling uhid_replay_free otherwise it may cause the following
+crash:
+
+Invalid read of size 1
+ at 0x1D8FC4: bt_uhid_record (uhid.c:116)
+ by 0x1D912C: uhid_read_handler (uhid.c:158)
+ by 0x201A64: watch_callback (io-glib.c:157)
+ by 0x48D4198: g_main_dispatch.lto_priv.0 (gmain.c:3344)
+ by 0x49333BE: UnknownInlinedFun (gmain.c:4152)
+ by 0x49333BE: g_main_context_iterate_unlocked.isra.0 (gmain.c:4217)
+ by 0x48D4DC6: g_main_loop_run (gmain.c:4419)
+ by 0x2020F4: mainloop_run (mainloop-glib.c:66)
+ by 0x20254B: mainloop_run_with_signal (mainloop-notify.c:188)
+ by 0x12D6D4: main (main.c:1456)
+ Address 0x53ae9c0 is 0 bytes inside a block of size 40 free'd
+ at 0x48468CF: free (vg_replace_malloc.c:985)
+ by 0x1D8E19: uhid_replay_free (uhid.c:68)
+ by 0x1D8E19: uhid_replay_free (uhid.c:59)
+ by 0x1D8E19: bt_uhid_destroy (uhid.c:509)
+ by 0x1591F5: uhid_disconnect (device.c:183)
+
+Fixes: https://github.com/bluez/bluez/issues/815
+---
+ src/shared/uhid.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/shared/uhid.c b/src/shared/uhid.c
+index c1092b707..1f071b958 100644
+--- a/src/shared/uhid.c
++++ b/src/shared/uhid.c
+@@ -507,6 +507,7 @@ int bt_uhid_destroy(struct bt_uhid *uhid)
+
+ uhid->created = false;
+ uhid_replay_free(uhid->replay);
++ uhid->replay = NULL;
+
+ return err;
+ }
diff --git a/source/n/bluez/bluez.SlackBuild b/source/n/bluez/bluez.SlackBuild
index 08de3c809..3597c4fd4 100755
--- a/source/n/bluez/bluez.SlackBuild
+++ b/source/n/bluez/bluez.SlackBuild
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=bluez
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
@@ -78,6 +78,8 @@ find . \
sed -i -e 's|-lreadline|\0 -lncursesw|g' Makefile.{in,tools}
+cat $CWD/b94f1be656f34ea1363f5566ef63b847234c6dea.patch | patch -p1 --verbose || exit 1
+
autoreconf -vif
# We're adding --enable-deprecated due to this commit: