mirror of
git://slackware.nl/current.git
synced 2025-01-14 08:01:11 +01:00
6dbbaa7eea
l/PyQt-builder-1.16.2-x86_64-1.txz: Upgraded. l/fribidi-1.0.14-x86_64-1.txz: Upgraded. l/libarchive-3.7.3-x86_64-2.txz: Rebuilt. Patched an out-of-bound error in the rar e8 filter that could allow for the execution of arbitrary code. Thanks to gmgf for the heads-up. For more information, see: https://github.com/advisories/GHSA-2jc9-36w4-pmqw https://www.cve.org/CVERecord?id=CVE-2024-26256 (* Security fix *) n/bluez-5.75-x86_64-3.txz: Rebuilt. [PATCH] shared/uhid: Fix crash if bt_uhid_destroy free replay structure. Thanks to sombragris. n/libgpg-error-1.49-x86_64-1.txz: Upgraded.
45 lines
1.6 KiB
Diff
45 lines
1.6 KiB
Diff
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;
|
|
}
|