diff --git a/Fix-memory-leak.patch b/Fix-memory-leak.patch new file mode 100644 index 0000000000000000000000000000000000000000..103fd149eca48e9acf6ce2996a54d2e667da404a --- /dev/null +++ b/Fix-memory-leak.patch @@ -0,0 +1,58 @@ +From 09e39a7d6dca8041f3723ee9020c54b94c0c8d47 Mon Sep 17 00:00:00 2001 +From: Luiz Augusto von Dentz +Date: Fri, 24 May 2024 10:47:41 -0400 +Subject: shared/csip: Fix memory leak + +This fixes the following leak: + +102 bytes in 6 blocks are definitely lost in loss record 660 of 909 + at 0x484282F: malloc (vg_replace_malloc.c:446) + by 0x5A078B: util_malloc (util.c:46) + by 0x649162: read_sirk (csip.c:485) + by 0x5C74FA: read_cb (gatt-client.c:2713) + by 0x5C4137: handle_rsp (att.c:880) + by 0x5C4137: can_read_data (att.c:1072) + by 0x65DDA4: watch_callback (io-glib.c:157) + by 0x49656AB: ??? (in /usr/lib64/libglib-2.0.so.0.8000.2) + by 0x49C6707: ??? (in /usr/lib64/libglib-2.0.so.0.8000.2) + by 0x496B666: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.8000.2) + by 0x65FE3D: mainloop_run (mainloop-glib.c:66) + by 0x6605A3: mainloop_run_with_signal (mainloop-notify.c:188) + by 0x31DEFA: main (main.c:1468) + +--- + src/shared/csip.c | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/src/shared/csip.c b/src/shared/csip.c +index e13efb6..87b4590 100644 +--- a/src/shared/csip.c ++++ b/src/shared/csip.c +@@ -128,6 +128,15 @@ void bt_csip_detach(struct bt_csip *csip) + queue_foreach(csip_cbs, csip_detached, csip); + } + ++static void csis_free(struct bt_csis *csis) ++{ ++ if (!csis) ++ return; ++ ++ free(csis->sirk_val); ++ free(csis); ++} ++ + static void csip_db_free(void *data) + { + struct bt_csip_db *cdb = data; +@@ -137,7 +146,7 @@ static void csip_db_free(void *data) + + gatt_db_unref(cdb->db); + +- free(cdb->csis); ++ csis_free(cdb->csis); + free(cdb); + } + +-- +2.27.0 + diff --git a/bluez.spec b/bluez.spec index 5b78ff054a14d69ed3bc4368b5dc780f8437d2be..60c07e27c976b3448100bf7199aac92687428c23 100644 --- a/bluez.spec +++ b/bluez.spec @@ -1,7 +1,7 @@ Name: bluez Summary: Bluetooth utilities Version: 5.71 -Release: 2 +Release: 3 License: GPLv2+ URL: http://www.bluez.org/ Source0: http://www.kernel.org/pub/linux/bluetooth/bluez-%{version}.tar.xz @@ -18,6 +18,7 @@ Patch6000: backport-bluez-disable-test-mesh-crypto.patch Patch6013: bluez-5.54-sw.patch %endif Patch7000: 0001-Fix-crash-after-pair-command.patch +Patch7001: Fix-memory-leak.patch BuildRequires: dbus-devel >= 1.6 libell-devel >= 0.28 autoconf BuildRequires: glib2-devel libical-devel readline-devel @@ -175,6 +176,9 @@ make check %{_mandir}/man8/* %changelog +* Tue Jun 4 2024 xuchenchen - 5.71-3 +- sync patches from community, shared/csip: Fix memory leak + * Sun Apr 28 2024 xuchenchen - 5.71-2 - mgmt: Fix crash after pair command