* [Buildroot] [PATCH 1/1] package/{bluez5_utils, bluez5_utils-headers}: bump to version 5.64
@ 2022-03-20 11:54 Bernd Kuhls
2022-03-20 17:03 ` Thomas Petazzoni via buildroot
0 siblings, 1 reply; 2+ messages in thread
From: Bernd Kuhls @ 2022-03-20 11:54 UTC (permalink / raw)
To: buildroot; +Cc: Grzegorz Blach, Marcin Bis
Removed all patches after being applied upstream:
https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=ec8c8f22efb66ccae533fbd55a236570ffcf756c
https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=710220f861b100856711a0a4d4a852874228a57a
https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=9f09e69ecb077082301dafb745856e1f3731aaa7
https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=cfab569484b18407fc117bb96634525cc76ea1f5
https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=fb57ad9b9d107856e5f1c8135da04ffa2f7a11ac
https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=58dec00edcaa316909cdd5309bd7bd3239ee221a
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
| 2 +-
...-tools-mesh-cfgtest-include-limits.h.patch | 33 -
...til-Rename-btd_malloc-to-util_malloc.patch | 67 -
.../0003-shared-util-Add-util_memdup.patch | 57 -
...ace-use-of-g_memdup-with-util_memdup.patch | 1411 -----------------
...005-build-Fix-errors-with-glibc-2-25.patch | 312 ----
...rc-shared-util.h-include-sys-types.h.patch | 39 -
package/bluez5_utils/bluez5_utils.hash | 2 +-
package/bluez5_utils/bluez5_utils.mk | 4 +-
9 files changed, 3 insertions(+), 1924 deletions(-)
delete mode 100644 package/bluez5_utils/0001-tools-mesh-cfgtest-include-limits.h.patch
delete mode 100644 package/bluez5_utils/0002-shared-util-Rename-btd_malloc-to-util_malloc.patch
delete mode 100644 package/bluez5_utils/0003-shared-util-Add-util_memdup.patch
delete mode 100644 package/bluez5_utils/0004-build-Replace-use-of-g_memdup-with-util_memdup.patch
delete mode 100644 package/bluez5_utils/0005-build-Fix-errors-with-glibc-2-25.patch
delete mode 100644 package/bluez5_utils/0006-src-shared-util.h-include-sys-types.h.patch
--git a/package/bluez5_utils-headers/bluez5_utils-headers.mk b/package/bluez5_utils-headers/bluez5_utils-headers.mk
index 5bfc652355..2f3a290ea8 100644
--- a/package/bluez5_utils-headers/bluez5_utils-headers.mk
+++ b/package/bluez5_utils-headers/bluez5_utils-headers.mk
@@ -5,7 +5,7 @@
################################################################################
# Keep the version and patches in sync with bluez5_utils
-BLUEZ5_UTILS_HEADERS_VERSION = 5.63
+BLUEZ5_UTILS_HEADERS_VERSION = 5.64
BLUEZ5_UTILS_HEADERS_SOURCE = bluez-$(BLUEZ5_UTILS_VERSION).tar.xz
BLUEZ5_UTILS_HEADERS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth
BLUEZ5_UTILS_HEADERS_DL_SUBDIR = bluez5_utils
diff --git a/package/bluez5_utils/0001-tools-mesh-cfgtest-include-limits.h.patch b/package/bluez5_utils/0001-tools-mesh-cfgtest-include-limits.h.patch
deleted file mode 100644
index 7f1197357f..0000000000
--- a/package/bluez5_utils/0001-tools-mesh-cfgtest-include-limits.h.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 5158827fded7cb4daf550a5956aff0c74f6c38fc Mon Sep 17 00:00:00 2001
-From: Michael Nosthoff <bluez@heine.tech>
-Date: Thu, 22 Jul 2021 21:36:13 +0200
-Subject: [PATCH] tools/mesh-cfgtest: include limits.h
-
-mesh-cfgtest.c uses PATH_MAX so it should include limits.h.
-
-fixes compilation error when enabling mesh support with musl-based
-toolchains observed in buildroot autobuilders.
-
-http://autobuild.buildroot.net/results/20cc47f54de0b0d4bdf108c3715c590ae8ab476f/
-http://autobuild.buildroot.net/results/003968b25906579dbcf5a95d1e43fec0ab504ef5/
-
-Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
----
- tools/mesh-cfgtest.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/tools/mesh-cfgtest.c b/tools/mesh-cfgtest.c
-index fa0474faa..116ab7f16 100644
---- a/tools/mesh-cfgtest.c
-+++ b/tools/mesh-cfgtest.c
-@@ -21,6 +21,7 @@
- #include <ftw.h>
- #include <getopt.h>
- #include <libgen.h>
-+#include <limits.h>
- #include <signal.h>
- #include <stdio.h>
- #include <time.h>
---
-2.32.0
-
diff --git a/package/bluez5_utils/0002-shared-util-Rename-btd_malloc-to-util_malloc.patch b/package/bluez5_utils/0002-shared-util-Rename-btd_malloc-to-util_malloc.patch
deleted file mode 100644
index f8d74528d8..0000000000
--- a/package/bluez5_utils/0002-shared-util-Rename-btd_malloc-to-util_malloc.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From f3263fed28bf510a1225661fe2b5f598300c11cd Mon Sep 17 00:00:00 2001
-From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
-Date: Wed, 5 Jan 2022 15:53:35 -0800
-Subject: [PATCH] shared/util: Rename btd_malloc to util_malloc
-
-util functions are not limited to daemon only which is normally the case
-when using btd prefix.
-
-(cherry picked from commit 710220f861b100856711a0a4d4a852874228a57a)
-Signed-off-by: Thomas Devoogdt <thomas.devoogdt@gmail.com>
----
- profiles/audio/avdtp.c | 2 +-
- src/shared/util.c | 2 +-
- src/shared/util.h | 4 ++--
- 3 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/profiles/audio/avdtp.c b/profiles/audio/avdtp.c
-index d3dfbf96d..f2b461330 100644
---- a/profiles/audio/avdtp.c
-+++ b/profiles/audio/avdtp.c
-@@ -1333,7 +1333,7 @@ static GSList *caps_to_list(uint8_t *data, size_t size,
- break;
- }
-
-- cpy = btd_malloc(sizeof(*cpy) + cap->length);
-+ cpy = util_malloc(sizeof(*cpy) + cap->length);
- memcpy(cpy, cap, sizeof(*cap) + cap->length);
-
- size -= sizeof(*cap) + cap->length;
-diff --git a/src/shared/util.c b/src/shared/util.c
-index 81b20d86f..93110047b 100644
---- a/src/shared/util.c
-+++ b/src/shared/util.c
-@@ -25,7 +25,7 @@
-
- #include "src/shared/util.h"
-
--void *btd_malloc(size_t size)
-+void *util_malloc(size_t size)
- {
- if (__builtin_expect(!!size, 1)) {
- void *ptr;
-diff --git a/src/shared/util.h b/src/shared/util.h
-index ac70117ca..11d09979d 100644
---- a/src/shared/util.h
-+++ b/src/shared/util.h
-@@ -75,7 +75,7 @@ do { \
- size_t __n = (size_t) (count); \
- size_t __s = sizeof(type); \
- void *__p; \
-- __p = btd_malloc(__n * __s); \
-+ __p = util_malloc(__n * __s); \
- memset(__p, 0, __n * __s); \
- __p; \
- }))
-@@ -86,7 +86,7 @@ do { \
- char *strdelimit(char *str, char *del, char c);
- int strsuffix(const char *str, const char *suffix);
-
--void *btd_malloc(size_t size);
-+void *util_malloc(size_t size);
-
- typedef void (*util_debug_func_t)(const char *str, void *user_data);
-
---
-2.17.1
-
diff --git a/package/bluez5_utils/0003-shared-util-Add-util_memdup.patch b/package/bluez5_utils/0003-shared-util-Add-util_memdup.patch
deleted file mode 100644
index d5c31a2614..0000000000
--- a/package/bluez5_utils/0003-shared-util-Add-util_memdup.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 28f1c140374d1ecda65e3d59cca72352c3a07774 Mon Sep 17 00:00:00 2001
-From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
-Date: Thu, 6 Jan 2022 11:45:12 -0800
-Subject: [PATCH] shared/util: Add util_memdup
-
-This adds util_memdup which is intended to replace g_memdup since
-replacing that with g_memdup2 requires bumping the glib version.
-
-(cherry picked from commit 9f09e69ecb077082301dafb745856e1f3731aaa7)
-Signed-off-by: Thomas Devoogdt <thomas.devoogdt@gmail.com>
----
- src/shared/util.c | 16 ++++++++++++++++
- src/shared/util.h | 1 +
- 2 files changed, 17 insertions(+)
-
-diff --git a/src/shared/util.c b/src/shared/util.c
-index 93110047b..6e1c83057 100644
---- a/src/shared/util.c
-+++ b/src/shared/util.c
-@@ -41,6 +41,22 @@ void *util_malloc(size_t size)
- return NULL;
- }
-
-+void *util_memdup(const void *src, size_t size)
-+{
-+ void *cpy;
-+
-+ if (!src || !size)
-+ return NULL;
-+
-+ cpy = util_malloc(size);
-+ if (!cpy)
-+ return NULL;
-+
-+ memcpy(cpy, src, size);
-+
-+ return cpy;
-+}
-+
- void util_debug_va(util_debug_func_t function, void *user_data,
- const char *format, va_list va)
- {
-diff --git a/src/shared/util.h b/src/shared/util.h
-index 11d09979d..8ef6132c4 100644
---- a/src/shared/util.h
-+++ b/src/shared/util.h
-@@ -87,6 +87,7 @@ char *strdelimit(char *str, char *del, char c);
- int strsuffix(const char *str, const char *suffix);
-
- void *util_malloc(size_t size);
-+void *util_memdup(const void *src, size_t size);
-
- typedef void (*util_debug_func_t)(const char *str, void *user_data);
-
---
-2.17.1
-
diff --git a/package/bluez5_utils/0004-build-Replace-use-of-g_memdup-with-util_memdup.patch b/package/bluez5_utils/0004-build-Replace-use-of-g_memdup-with-util_memdup.patch
deleted file mode 100644
index 9e1047c957..0000000000
--- a/package/bluez5_utils/0004-build-Replace-use-of-g_memdup-with-util_memdup.patch
+++ /dev/null
@@ -1,1411 +0,0 @@
-From 7eb74180cf6fd6cebc61bb719d458cbf5d7f4ca7 Mon Sep 17 00:00:00 2001
-From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
-Date: Thu, 6 Jan 2022 12:50:33 -0800
-Subject: [PATCH] build: Replace use of g_memdup with util_memdup
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This replaces the uses of g_memdup with util_memdup since the former has
-been deprecated:
-
- warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead
- [-Wdeprecated-declarations]
-
-g_memdup2 requires bumping glib version which would likely have its
-own problems thus why util_memdup was introduced.
-
-(cherry picked from commit cfab569484b18407fc117bb96634525cc76ea1f5)
-Signed-off-by: Thomas Devoogdt <thomas.devoogdt@gmail.com>
----
- Makefile.am | 10 ++---
- Makefile.obexd | 1 +
- Makefile.tools | 11 ++++--
- android/a2dp.c | 9 +++--
- android/avctp.c | 5 ++-
- android/avrcp-lib.c | 2 +-
- android/gatt.c | 5 ++-
- android/hidhost.c | 3 +-
- android/tester-main.c | 77 +++++++++++++++++++++-----------------
- attrib/gatt.c | 12 +++---
- client/gatt.c | 2 +-
- gobex/gobex-header.c | 7 ++--
- gobex/gobex-packet.c | 5 ++-
- obexd/src/obex.c | 5 ++-
- plugins/neard.c | 9 +++--
- plugins/policy.c | 7 ++--
- profiles/audio/avctp.c | 9 +++--
- profiles/audio/avrcp.c | 10 ++---
- profiles/battery/bas.c | 4 +-
- profiles/battery/battery.c | 4 +-
- profiles/deviceinfo/dis.c | 4 +-
- profiles/input/hog-lib.c | 12 +++---
- profiles/scanparam/scpp.c | 4 +-
- src/eir.c | 8 ++--
- tools/gatt-service.c | 15 ++++----
- tools/mesh-gatt/gatt.c | 5 ++-
- unit/test-avctp.c | 4 +-
- unit/test-avdtp.c | 6 +--
- unit/test-avrcp.c | 10 ++---
- unit/test-gatt.c | 4 +-
- unit/test-hfp.c | 11 +++---
- unit/test-hog.c | 26 ++++++-------
- unit/test-sdp.c | 10 +++--
- unit/test-uhid.c | 2 +-
- 34 files changed, 172 insertions(+), 146 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 308f13c50..9b5e140b8 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -508,23 +508,23 @@ unit_tests += unit/test-gobex-header unit/test-gobex-packet unit/test-gobex \
-
- unit_test_gobex_SOURCES = $(gobex_sources) unit/util.c unit/util.h \
- unit/test-gobex.c
--unit_test_gobex_LDADD = $(GLIB_LIBS)
-+unit_test_gobex_LDADD = src/libshared-glib.la $(GLIB_LIBS)
-
- unit_test_gobex_packet_SOURCES = $(gobex_sources) unit/util.c unit/util.h \
- unit/test-gobex-packet.c
--unit_test_gobex_packet_LDADD = $(GLIB_LIBS)
-+unit_test_gobex_packet_LDADD = src/libshared-glib.la $(GLIB_LIBS)
-
- unit_test_gobex_header_SOURCES = $(gobex_sources) unit/util.c unit/util.h \
- unit/test-gobex-header.c
--unit_test_gobex_header_LDADD = $(GLIB_LIBS)
-+unit_test_gobex_header_LDADD = src/libshared-glib.la $(GLIB_LIBS)
-
- unit_test_gobex_transfer_SOURCES = $(gobex_sources) unit/util.c unit/util.h \
- unit/test-gobex-transfer.c
--unit_test_gobex_transfer_LDADD = $(GLIB_LIBS)
-+unit_test_gobex_transfer_LDADD = src/libshared-glib.la $(GLIB_LIBS)
-
- unit_test_gobex_apparam_SOURCES = $(gobex_sources) unit/util.c unit/util.h \
- unit/test-gobex-apparam.c
--unit_test_gobex_apparam_LDADD = $(GLIB_LIBS)
-+unit_test_gobex_apparam_LDADD = src/libshared-glib.la $(GLIB_LIBS)
- endif
-
- unit_tests += unit/test-lib
-diff --git a/Makefile.obexd b/Makefile.obexd
-index 37a133455..5d1a4ff65 100644
---- a/Makefile.obexd
-+++ b/Makefile.obexd
-@@ -82,6 +82,7 @@ obexd_src_obexd_SOURCES = $(btio_sources) $(gobex_sources) \
- obexd/src/map_ap.h
- obexd_src_obexd_LDADD = lib/libbluetooth-internal.la \
- gdbus/libgdbus-internal.la \
-+ src/libshared-glib.la \
- $(ICAL_LIBS) $(DBUS_LIBS) $(LIBEBOOK_LIBS) \
- $(LIBEDATASERVER_LIBS) $(GLIB_LIBS) -ldl
-
-diff --git a/Makefile.tools b/Makefile.tools
-index c7bdff83f..35b0021ea 100644
---- a/Makefile.tools
-+++ b/Makefile.tools
-@@ -302,7 +302,8 @@ tools_mpris_proxy_SOURCES = tools/mpris-proxy.c
- tools_mpris_proxy_LDADD = gdbus/libgdbus-internal.la $(GLIB_LIBS) $(DBUS_LIBS)
-
- tools_gatt_service_SOURCES = tools/gatt-service.c
--tools_gatt_service_LDADD = $(GLIB_LIBS) $(DBUS_LIBS) gdbus/libgdbus-internal.la
-+tools_gatt_service_LDADD = gdbus/libgdbus-internal.la \
-+ src/libshared-mainloop.la $(GLIB_LIBS) $(DBUS_LIBS)
-
- profiles_iap_iapd_SOURCES = profiles/iap/main.c
- profiles_iap_iapd_LDADD = gdbus/libgdbus-internal.la $(GLIB_LIBS) $(DBUS_LIBS)
-@@ -448,11 +449,12 @@ noinst_PROGRAMS += tools/btmgmt tools/obex-client-tool tools/obex-server-tool \
- tools_obex_client_tool_SOURCES = $(gobex_sources) $(btio_sources) \
- tools/obex-client-tool.c
- tools_obex_client_tool_LDADD = lib/libbluetooth-internal.la \
-- $(GLIB_LIBS) -lreadline
-+ src/libshared-glib.la $(GLIB_LIBS) -lreadline
-
- tools_obex_server_tool_SOURCES = $(gobex_sources) $(btio_sources) \
- tools/obex-server-tool.c
--tools_obex_server_tool_LDADD = lib/libbluetooth-internal.la $(GLIB_LIBS)
-+tools_obex_server_tool_LDADD = lib/libbluetooth-internal.la \
-+ src/libshared-glib.la $(GLIB_LIBS)
-
- tools_bluetooth_player_SOURCES = tools/bluetooth-player.c
- tools_bluetooth_player_LDADD = gdbus/libgdbus-internal.la \
-@@ -461,7 +463,8 @@ tools_bluetooth_player_LDADD = gdbus/libgdbus-internal.la \
-
- tools_obexctl_SOURCES = tools/obexctl.c
- tools_obexctl_LDADD = gdbus/libgdbus-internal.la src/libshared-glib.la \
-- $(GLIB_LIBS) $(DBUS_LIBS) -lreadline
-+ src/libshared-glib.la $(GLIB_LIBS) $(DBUS_LIBS) \
-+ -lreadline
-
- tools_btmgmt_SOURCES = tools/btmgmt.c src/uuid-helper.c client/display.c
- tools_btmgmt_LDADD = lib/libbluetooth-internal.la src/libshared-mainloop.la \
-diff --git a/android/a2dp.c b/android/a2dp.c
-index 029107cf5..ee607a32d 100644
---- a/android/a2dp.c
-+++ b/android/a2dp.c
-@@ -26,6 +26,7 @@
- #include "lib/sdp_lib.h"
- #include "profiles/audio/a2dp-codecs.h"
- #include "src/shared/queue.h"
-+#include "src/shared/util.h"
- #include "src/log.h"
- #include "hal-msg.h"
- #include "ipc-common.h"
-@@ -428,7 +429,7 @@ static struct a2dp_preset *sbc_select_range(void *caps, uint8_t caps_len,
-
- p = g_new0(struct a2dp_preset, 1);
- p->len = conf_len;
-- p->data = g_memdup(conf, p->len);
-+ p->data = util_memdup(conf, p->len);
-
- return p;
- }
-@@ -448,7 +449,7 @@ static struct a2dp_preset *aac_select_range(void *caps, uint8_t caps_len,
-
- p = g_new0(struct a2dp_preset, 1);
- p->len = conf_len;
-- p->data = g_memdup(conf, p->len);
-+ p->data = util_memdup(conf, p->len);
-
- return p;
- }
-@@ -1036,7 +1037,7 @@ static gboolean sep_setconf_ind(struct avdtp *session,
-
- preset = g_new0(struct a2dp_preset, 1);
- preset->len = cap->length - sizeof(*codec);
-- preset->data = g_memdup(codec->data, preset->len);
-+ preset->data = util_memdup(codec->data, preset->len);
-
- if (check_config(endpoint, preset) < 0) {
- preset_free(preset);
-@@ -1365,7 +1366,7 @@ static GSList *parse_presets(const struct audio_preset *p, uint8_t count,
-
- preset = g_new0(struct a2dp_preset, 1);
- preset->len = p->len;
-- preset->data = g_memdup(p->data, preset->len);
-+ preset->data = util_memdup(p->data, preset->len);
- l = g_slist_append(l, preset);
-
- len -= preset->len;
-diff --git a/android/avctp.c b/android/avctp.c
-index 14ebbc391..37b4cec4f 100644
---- a/android/avctp.c
-+++ b/android/avctp.c
-@@ -31,6 +31,7 @@
- #include <glib.h>
-
- #include "lib/sdp.h"
-+#include "src/shared/util.h"
- #include "src/log.h"
- #include "avctp.h"
-
-@@ -1177,7 +1178,7 @@ static int avctp_send_req(struct avctp *session, uint8_t code, uint8_t subunit,
-
- for (i = 0; i < iov_cnt; i++) {
- pdu[i].iov_len = iov[i].iov_len;
-- pdu[i].iov_base = g_memdup(iov[i].iov_base, iov[i].iov_len);
-+ pdu[i].iov_base = util_memdup(iov[i].iov_base, iov[i].iov_len);
- }
-
- req = g_new0(struct avctp_control_req, 1);
-@@ -1218,7 +1219,7 @@ int avctp_send_browsing_req(struct avctp *session,
-
- for (i = 0; i < iov_cnt; i++) {
- pdu[i].iov_len = iov[i].iov_len;
-- pdu[i].iov_base = g_memdup(iov[i].iov_base, iov[i].iov_len);
-+ pdu[i].iov_base = util_memdup(iov[i].iov_base, iov[i].iov_len);
- }
-
- req = g_new0(struct avctp_browsing_req, 1);
-diff --git a/android/avrcp-lib.c b/android/avrcp-lib.c
-index 2007d09d2..b342692cb 100644
---- a/android/avrcp-lib.c
-+++ b/android/avrcp-lib.c
-@@ -2620,7 +2620,7 @@ static char *parse_folder_list(uint8_t *params, uint16_t params_len,
- return NULL;
- }
-
-- folders[count] = g_memdup(¶ms[i], len);
-+ folders[count] = util_memdup(¶ms[i], len);
- i += len;
- }
-
-diff --git a/android/gatt.c b/android/gatt.c
-index a8a0c488b..e8ba5aabb 100644
---- a/android/gatt.c
-+++ b/android/gatt.c
-@@ -1338,7 +1338,8 @@ static void discover_primary_cb(uint8_t status, GSList *services,
- }
-
- bt_uuid_to_uuid128(&uuid, &u128);
-- new_uuid = g_memdup(&u128.value.u128, sizeof(u128.value.u128));
-+ new_uuid = util_memdup(&u128.value.u128,
-+ sizeof(u128.value.u128));
-
- uuids = g_slist_prepend(uuids, new_uuid);
- }
-@@ -6633,7 +6634,7 @@ static uint8_t write_prep_request(const uint8_t *cmd, uint16_t cmd_len,
-
- queue_push_tail(dev->pending_requests, data);
-
-- data->value = g_memdup(value, vlen);
-+ data->value = util_memdup(value, vlen);
- data->length = vlen;
-
- if (!gatt_db_attribute_write(attrib, offset, value, vlen, cmd[0],
-diff --git a/android/hidhost.c b/android/hidhost.c
-index 016382e17..b4e5c527f 100644
---- a/android/hidhost.c
-+++ b/android/hidhost.c
-@@ -689,7 +689,8 @@ static void hid_sdp_search_cb(sdp_list_t *recs, int err, gpointer data)
- goto fail;
-
- dev->rd_size = data->unitSize;
-- dev->rd_data = g_memdup(data->val.str, data->unitSize);
-+ dev->rd_data = util_memdup(data->val.str,
-+ data->unitSize);
- }
- }
-
-diff --git a/android/tester-main.c b/android/tester-main.c
-index ff5ecdf83..317c1de06 100644
---- a/android/tester-main.c
-+++ b/android/tester-main.c
-@@ -1253,7 +1253,8 @@ static bt_property_t *copy_properties(int num_properties,
- for (i = 0; i < num_properties; i++) {
- props[i].type = properties[i].type;
- props[i].len = properties[i].len;
-- props[i].val = g_memdup(properties[i].val, properties[i].len);
-+ props[i].val = util_memdup(properties[i].val,
-+ properties[i].len);
- }
-
- return props;
-@@ -1268,7 +1269,8 @@ static bt_property_t *repack_properties(int num_properties,
- for (i = 0; i < num_properties; i++) {
- props[i].type = properties[i]->type;
- props[i].len = properties[i]->len;
-- props[i].val = g_memdup(properties[i]->val, properties[i]->len);
-+ props[i].val = util_memdup(properties[i]->val,
-+ properties[i]->len);
- }
-
- return props;
-@@ -1281,7 +1283,7 @@ static bt_property_t *create_property(bt_property_type_t type, void *val,
-
- prop->type = type;
- prop->len = len;
-- prop->val = g_memdup(val, len);
-+ prop->val = util_memdup(val, len);
-
- return prop;
- }
-@@ -1615,7 +1617,7 @@ static void gattc_search_result_cb(int conn_id, btgatt_srvc_id_t *srvc_id)
-
- step->callback = CB_GATTC_SEARCH_RESULT;
- step->callback_result.conn_id = conn_id;
-- step->callback_result.service = g_memdup(srvc_id, sizeof(*srvc_id));
-+ step->callback_result.service = util_memdup(srvc_id, sizeof(*srvc_id));
-
- schedule_callback_verification(step);
- }
-@@ -1639,8 +1641,8 @@ static void gattc_get_characteristic_cb(int conn_id, int status,
- step->callback = CB_GATTC_GET_CHARACTERISTIC;
- step->callback_result.status = status;
- step->callback_result.conn_id = conn_id;
-- step->callback_result.service = g_memdup(srvc_id, sizeof(*srvc_id));
-- step->callback_result.characteristic = g_memdup(char_id,
-+ step->callback_result.service = util_memdup(srvc_id, sizeof(*srvc_id));
-+ step->callback_result.characteristic = util_memdup(char_id,
- sizeof(*char_id));
- step->callback_result.char_prop = char_prop;
-
-@@ -1656,10 +1658,10 @@ static void gattc_get_descriptor_cb(int conn_id, int status,
- step->callback = CB_GATTC_GET_DESCRIPTOR;
- step->callback_result.status = status;
- step->callback_result.conn_id = conn_id;
-- step->callback_result.service = g_memdup(srvc_id, sizeof(*srvc_id));
-- step->callback_result.characteristic = g_memdup(char_id,
-+ step->callback_result.service = util_memdup(srvc_id, sizeof(*srvc_id));
-+ step->callback_result.characteristic = util_memdup(char_id,
- sizeof(*char_id));
-- step->callback_result.descriptor = g_memdup(descr_id,
-+ step->callback_result.descriptor = util_memdup(descr_id,
- sizeof(*descr_id));
-
- schedule_callback_verification(step);
-@@ -1673,8 +1675,8 @@ static void gattc_get_included_service_cb(int conn_id, int status,
- step->callback = CB_GATTC_GET_INCLUDED_SERVICE;
- step->callback_result.status = status;
- step->callback_result.conn_id = conn_id;
-- step->callback_result.service = g_memdup(srvc_id, sizeof(*srvc_id));
-- step->callback_result.included = g_memdup(incl_srvc_id,
-+ step->callback_result.service = util_memdup(srvc_id, sizeof(*srvc_id));
-+ step->callback_result.included = util_memdup(incl_srvc_id,
- sizeof(*srvc_id));
-
- schedule_callback_verification(step);
-@@ -1688,7 +1690,8 @@ static void gattc_read_characteristic_cb(int conn_id, int status,
- step->callback = CB_GATTC_READ_CHARACTERISTIC;
- step->callback_result.status = status;
- step->callback_result.conn_id = conn_id;
-- step->callback_result.read_params = g_memdup(p_data, sizeof(*p_data));
-+ step->callback_result.read_params = util_memdup(p_data,
-+ sizeof(*p_data));
-
- schedule_callback_verification(step);
- }
-@@ -1701,7 +1704,8 @@ static void gattc_read_descriptor_cb(int conn_id, int status,
- step->callback = CB_GATTC_READ_DESCRIPTOR;
- step->callback_result.status = status;
- step->callback_result.conn_id = conn_id;
-- step->callback_result.read_params = g_memdup(p_data, sizeof(*p_data));
-+ step->callback_result.read_params = util_memdup(p_data,
-+ sizeof(*p_data));
-
- schedule_callback_verification(step);
- }
-@@ -1714,7 +1718,8 @@ static void gattc_write_characteristic_cb(int conn_id, int status,
- step->callback = CB_GATTC_WRITE_CHARACTERISTIC;
- step->callback_result.status = status;
- step->callback_result.conn_id = conn_id;
-- step->callback_result.write_params = g_memdup(p_data, sizeof(*p_data));
-+ step->callback_result.write_params = util_memdup(p_data,
-+ sizeof(*p_data));
-
- schedule_callback_verification(step);
- }
-@@ -1727,7 +1732,8 @@ static void gattc_write_descriptor_cb(int conn_id, int status,
- step->callback = CB_GATTC_WRITE_DESCRIPTOR;
- step->callback_result.status = status;
- step->callback_result.conn_id = conn_id;
-- step->callback_result.write_params = g_memdup(p_data, sizeof(*p_data));
-+ step->callback_result.write_params = util_memdup(p_data,
-+ sizeof(*p_data));
-
- schedule_callback_verification(step);
- }
-@@ -1742,8 +1748,8 @@ static void gattc_register_for_notification_cb(int conn_id, int registered,
- step->callback = CB_GATTC_REGISTER_FOR_NOTIFICATION;
- step->callback_result.status = status;
- step->callback_result.conn_id = conn_id;
-- step->callback_result.service = g_memdup(srvc_id, sizeof(*srvc_id));
-- step->callback_result.characteristic = g_memdup(char_id,
-+ step->callback_result.service = util_memdup(srvc_id, sizeof(*srvc_id));
-+ step->callback_result.characteristic = util_memdup(char_id,
- sizeof(*char_id));
- step->callback_result.notification_registered = registered;
-
-@@ -1756,7 +1762,8 @@ static void gattc_notif_cb(int conn_id, btgatt_notify_params_t *p_data)
-
- step->callback = CB_GATTC_NOTIFY;
- step->callback_result.conn_id = conn_id;
-- step->callback_result.notify_params = g_memdup(p_data, sizeof(*p_data));
-+ step->callback_result.notify_params = util_memdup(p_data,
-+ sizeof(*p_data));
-
- schedule_callback_verification(step);
- }
-@@ -1827,8 +1834,8 @@ static void gatts_service_added_cb(int status, int server_if,
-
- step->callback_result.status = status;
- step->callback_result.gatt_app_id = server_if;
-- step->callback_result.service = g_memdup(srvc_id, sizeof(*srvc_id));
-- step->callback_result.srvc_handle = g_memdup(&srvc_handle,
-+ step->callback_result.service = util_memdup(srvc_id, sizeof(*srvc_id));
-+ step->callback_result.srvc_handle = util_memdup(&srvc_handle,
- sizeof(srvc_handle));
-
- schedule_callback_verification(step);
-@@ -1844,9 +1851,9 @@ static void gatts_included_service_added_cb(int status, int server_if,
-
- step->callback_result.status = status;
- step->callback_result.gatt_app_id = server_if;
-- step->callback_result.srvc_handle = g_memdup(&srvc_handle,
-+ step->callback_result.srvc_handle = util_memdup(&srvc_handle,
- sizeof(srvc_handle));
-- step->callback_result.inc_srvc_handle = g_memdup(&inc_srvc_handle,
-+ step->callback_result.inc_srvc_handle = util_memdup(&inc_srvc_handle,
- sizeof(inc_srvc_handle));
-
- schedule_callback_verification(step);
-@@ -1863,10 +1870,10 @@ static void gatts_characteristic_added_cb(int status, int server_if,
-
- step->callback_result.status = status;
- step->callback_result.gatt_app_id = server_if;
-- step->callback_result.srvc_handle = g_memdup(&srvc_handle,
-+ step->callback_result.srvc_handle = util_memdup(&srvc_handle,
- sizeof(srvc_handle));
-- step->callback_result.uuid = g_memdup(uuid, sizeof(*uuid));
-- step->callback_result.char_handle = g_memdup(&char_handle,
-+ step->callback_result.uuid = util_memdup(uuid, sizeof(*uuid));
-+ step->callback_result.char_handle = util_memdup(&char_handle,
- sizeof(char_handle));
-
- schedule_callback_verification(step);
-@@ -1883,10 +1890,10 @@ static void gatts_descriptor_added_cb(int status, int server_if,
-
- step->callback_result.status = status;
- step->callback_result.gatt_app_id = server_if;
-- step->callback_result.srvc_handle = g_memdup(&srvc_handle,
-+ step->callback_result.srvc_handle = util_memdup(&srvc_handle,
- sizeof(srvc_handle));
-- step->callback_result.uuid = g_memdup(uuid, sizeof(*uuid));
-- step->callback_result.desc_handle = g_memdup(&desc_handle,
-+ step->callback_result.uuid = util_memdup(uuid, sizeof(*uuid));
-+ step->callback_result.desc_handle = util_memdup(&desc_handle,
- sizeof(desc_handle));
-
- schedule_callback_verification(step);
-@@ -1900,7 +1907,7 @@ static void gatts_service_started_cb(int status, int server_if, int srvc_handle)
-
- step->callback_result.status = status;
- step->callback_result.gatt_app_id = server_if;
-- step->callback_result.srvc_handle = g_memdup(&srvc_handle,
-+ step->callback_result.srvc_handle = util_memdup(&srvc_handle,
- sizeof(srvc_handle));
-
- schedule_callback_verification(step);
-@@ -1914,7 +1921,7 @@ static void gatts_service_stopped_cb(int status, int server_if, int srvc_handle)
-
- step->callback_result.status = status;
- step->callback_result.gatt_app_id = server_if;
-- step->callback_result.srvc_handle = g_memdup(&srvc_handle,
-+ step->callback_result.srvc_handle = util_memdup(&srvc_handle,
- sizeof(srvc_handle));
-
- schedule_callback_verification(step);
-@@ -1928,7 +1935,7 @@ static void gatts_service_deleted_cb(int status, int server_if, int srvc_handle)
-
- step->callback_result.status = status;
- step->callback_result.gatt_app_id = server_if;
-- step->callback_result.srvc_handle = g_memdup(&srvc_handle,
-+ step->callback_result.srvc_handle = util_memdup(&srvc_handle,
- sizeof(srvc_handle));
-
- schedule_callback_verification(step);
-@@ -1945,7 +1952,7 @@ static void gatts_request_read_cb(int conn_id, int trans_id, bt_bdaddr_t *bda,
-
- step->callback_result.conn_id = conn_id;
- step->callback_result.trans_id = trans_id;
-- step->callback_result.attr_handle = g_memdup(&attr_handle,
-+ step->callback_result.attr_handle = util_memdup(&attr_handle,
- sizeof(attr_handle));
- step->callback_result.offset = offset;
- step->callback_result.is_long = is_long;
-@@ -1974,13 +1981,13 @@ static void gatts_request_write_cb(int conn_id, int trans_id, bt_bdaddr_t *bda,
-
- step->callback_result.conn_id = conn_id;
- step->callback_result.trans_id = trans_id;
-- step->callback_result.attr_handle = g_memdup(&attr_handle,
-+ step->callback_result.attr_handle = util_memdup(&attr_handle,
- sizeof(attr_handle));
- step->callback_result.offset = offset;
- step->callback_result.length = length;
- step->callback_result.need_rsp = need_rsp;
- step->callback_result.is_prep = is_prep;
-- step->callback_result.value = g_memdup(&value, length);
-+ step->callback_result.value = util_memdup(&value, length);
-
- /* Utilize property verification mechanism for bdaddr */
- props[0] = create_property(BT_PROPERTY_BDADDR, bda, sizeof(*bda));
-@@ -2169,7 +2176,7 @@ static btmce_mas_instance_t *copy_mas_instances(int num_instances,
- inst[i].id = instances[i].id;
- inst[i].scn = instances[i].scn;
- inst[i].msg_types = instances[i].msg_types;
-- inst[i].p_name = g_memdup(instances[i].p_name,
-+ inst[i].p_name = util_memdup(instances[i].p_name,
- strlen(instances[i].p_name));
- }
-
-diff --git a/attrib/gatt.c b/attrib/gatt.c
-index 46b2ca381..b496dd1eb 100644
---- a/attrib/gatt.c
-+++ b/attrib/gatt.c
-@@ -135,7 +135,7 @@ static void discover_char_unref(void *data)
-
- g_slist_free_full(dc->characteristics, g_free);
- g_attrib_unref(dc->attrib);
-- g_free(dc->uuid);
-+ free(dc->uuid);
- g_free(dc);
- }
-
-@@ -157,7 +157,7 @@ static void discover_desc_unref(void *data)
-
- g_slist_free_full(dd->descriptors, g_free);
- g_attrib_unref(dd->attrib);
-- g_free(dd->uuid);
-+ free(dd->uuid);
- g_free(dd);
- }
-
-@@ -696,7 +696,7 @@ guint gatt_discover_char(GAttrib *attrib, uint16_t start, uint16_t end,
- dc->user_data = user_data;
- dc->end = end;
- dc->start = start;
-- dc->uuid = g_memdup(uuid, sizeof(bt_uuid_t));
-+ dc->uuid = util_memdup(uuid, sizeof(bt_uuid_t));
-
- dc->id = g_attrib_send(attrib, 0, buf, plen, char_discovered_cb,
- discover_char_ref(dc), discover_char_unref);
-@@ -905,7 +905,7 @@ static void prepare_write_cb(guint8 status, const guint8 *rpdu, guint16 rlen,
- if (long_write->offset == long_write->vlen) {
- execute_write(long_write->attrib, ATT_WRITE_ALL_PREP_WRITES,
- long_write->func, long_write->user_data);
-- g_free(long_write->value);
-+ free(long_write->value);
- g_free(long_write);
-
- return;
-@@ -964,7 +964,7 @@ guint gatt_write_char(GAttrib *attrib, uint16_t handle, const uint8_t *value,
- long_write->func = func;
- long_write->user_data = user_data;
- long_write->handle = handle;
-- long_write->value = g_memdup(value, vlen);
-+ long_write->value = util_memdup(value, vlen);
- long_write->vlen = vlen;
-
- return prepare_write(long_write);
-@@ -1130,7 +1130,7 @@ guint gatt_discover_desc(GAttrib *attrib, uint16_t start, uint16_t end,
- dd->user_data = user_data;
- dd->start = start;
- dd->end = end;
-- dd->uuid = g_memdup(uuid, sizeof(bt_uuid_t));
-+ dd->uuid = util_memdup(uuid, sizeof(bt_uuid_t));
-
- dd->id = g_attrib_send(attrib, 0, buf, plen, desc_discovered_cb,
- discover_desc_ref(dd), discover_desc_unref);
-diff --git a/client/gatt.c b/client/gatt.c
-index 11f70dc4f..13872c794 100644
---- a/client/gatt.c
-+++ b/client/gatt.c
-@@ -811,7 +811,7 @@ static uint8_t *str2bytearray(char *arg, size_t *val_len)
-
- *val_len = i;
-
-- return g_memdup(value, i);
-+ return util_memdup(value, i);
- }
-
- void gatt_write_attribute(GDBusProxy *proxy, int argc, char *argv[])
-diff --git a/gobex/gobex-header.c b/gobex/gobex-header.c
-index 011d33d1a..002ba8861 100644
---- a/gobex/gobex-header.c
-+++ b/gobex/gobex-header.c
-@@ -15,6 +15,7 @@
-
- #include "gobex-header.h"
- #include "gobex-debug.h"
-+#include "src/shared/util.h"
-
- /* Header types */
- #define G_OBEX_HDR_ENC_UNICODE (0 << 6)
-@@ -222,7 +223,7 @@ GObexHeader *g_obex_header_decode(const void *data, gsize len,
-
- switch (data_policy) {
- case G_OBEX_DATA_COPY:
-- header->v.data = g_memdup(ptr, header->vlen);
-+ header->v.data = util_memdup(ptr, header->vlen);
- break;
- case G_OBEX_DATA_REF:
- header->extdata = TRUE;
-@@ -282,7 +283,7 @@ void g_obex_header_free(GObexHeader *header)
- break;
- case G_OBEX_HDR_ENC_BYTES:
- if (!header->extdata)
-- g_free(header->v.data);
-+ free(header->v.data);
- break;
- case G_OBEX_HDR_ENC_UINT8:
- case G_OBEX_HDR_ENC_UINT32:
-@@ -410,7 +411,7 @@ GObexHeader *g_obex_header_new_bytes(guint8 id, const void *data, gsize len)
- header->id = id;
- header->vlen = len;
- header->hlen = len + 3;
-- header->v.data = g_memdup(data, len);
-+ header->v.data = util_memdup(data, len);
-
- return header;
- }
-diff --git a/gobex/gobex-packet.c b/gobex/gobex-packet.c
-index 11937a5a5..8ae78b0f6 100644
---- a/gobex/gobex-packet.c
-+++ b/gobex/gobex-packet.c
-@@ -17,6 +17,7 @@
- #include "gobex-defs.h"
- #include "gobex-packet.h"
- #include "gobex-debug.h"
-+#include "src/shared/util.h"
-
- #define FINAL_BIT 0x80
-
-@@ -201,7 +202,7 @@ gboolean g_obex_packet_set_data(GObexPacket *pkt, const void *data, gsize len,
-
- switch (data_policy) {
- case G_OBEX_DATA_COPY:
-- pkt->data.buf = g_memdup(data, len);
-+ pkt->data.buf = util_memdup(data, len);
- break;
- case G_OBEX_DATA_REF:
- pkt->data.buf_ref = data;
-@@ -259,7 +260,7 @@ void g_obex_packet_free(GObexPacket *pkt)
- switch (pkt->data_policy) {
- case G_OBEX_DATA_INHERIT:
- case G_OBEX_DATA_COPY:
-- g_free(pkt->data.buf);
-+ free(pkt->data.buf);
- break;
- case G_OBEX_DATA_REF:
- break;
-diff --git a/obexd/src/obex.c b/obexd/src/obex.c
-index 9f992ec18..3a68fd66c 100644
---- a/obexd/src/obex.c
-+++ b/obexd/src/obex.c
-@@ -40,6 +40,7 @@
- #include "mimetype.h"
- #include "service.h"
- #include "transport.h"
-+#include "src/shared/util.h"
-
- typedef struct {
- uint8_t version;
-@@ -145,7 +146,7 @@ static void os_reset_session(struct obex_session *os)
- os->path = NULL;
- }
- if (os->apparam) {
-- g_free(os->apparam);
-+ free(os->apparam);
- os->apparam = NULL;
- os->apparam_len = 0;
- }
-@@ -594,7 +595,7 @@ static void parse_apparam(struct obex_session *os, GObexPacket *req)
- if (!g_obex_header_get_bytes(hdr, &apparam, &len))
- return;
-
-- os->apparam = g_memdup(apparam, len);
-+ os->apparam = util_memdup(apparam, len);
- os->apparam_len = len;
- DBG("APPARAM");
- }
-diff --git a/plugins/neard.c b/plugins/neard.c
-index e07b51106..a75527148 100644
---- a/plugins/neard.c
-+++ b/plugins/neard.c
-@@ -30,6 +30,7 @@
- #include "src/eir.h"
- #include "src/agent.h"
- #include "src/btd.h"
-+#include "src/shared/util.h"
-
- #define NEARD_NAME "org.neard"
- #define NEARD_PATH "/"
-@@ -71,7 +72,7 @@ static void free_oob_params(struct oob_params *params)
- g_free(params->name);
- g_free(params->hash);
- g_free(params->randomizer);
-- g_free(params->pin);
-+ free(params->pin);
- }
-
- static DBusMessage *error_reply(DBusMessage *msg, int error)
-@@ -407,10 +408,10 @@ static int process_nokia_long (void *data, size_t size, uint8_t marker,
- remote->name = g_strndup((char *)n->name, n->name_len);
-
- if (marker == 0x01) {
-- remote->pin = g_memdup(n->authentication, 4);
-+ remote->pin = util_memdup(n->authentication, 4);
- remote->pin_len = 4;
- } else if (marker == 0x02) {
-- remote->pin = g_memdup(n->authentication, 16);
-+ remote->pin = util_memdup(n->authentication, 16);
- remote->pin_len = 16;
- }
-
-@@ -439,7 +440,7 @@ static int process_nokia_short (void *data, size_t size,
- if (n->name_len > 0)
- remote->name = g_strndup((char *)n->name, n->name_len);
-
-- remote->pin = g_memdup(n->authentication, 4);
-+ remote->pin = util_memdup(n->authentication, 4);
- remote->pin_len = 4;
-
- return 0;
-diff --git a/plugins/policy.c b/plugins/policy.c
-index 051db82e1..48f5db7d3 100644
---- a/plugins/policy.c
-+++ b/plugins/policy.c
-@@ -32,6 +32,7 @@
- #include "src/profile.h"
- #include "src/btd.h"
- #include "src/shared/timeout.h"
-+#include "src/shared/util.h"
-
- #define CONTROL_CONNECT_TIMEOUT 2
- #define SOURCE_RETRY_TIMEOUT 2
-@@ -855,7 +856,7 @@ static int policy_init(void)
- reconnect_attempts = default_attempts;
- reconnect_intervals_len = sizeof(default_intervals) /
- sizeof(*reconnect_intervals);
-- reconnect_intervals = g_memdup(default_intervals,
-+ reconnect_intervals = util_memdup(default_intervals,
- sizeof(default_intervals));
- goto done;
- }
-@@ -886,7 +887,7 @@ static int policy_init(void)
- g_clear_error(&gerr);
- reconnect_intervals_len = sizeof(default_intervals) /
- sizeof(*reconnect_intervals);
-- reconnect_intervals = g_memdup(default_intervals,
-+ reconnect_intervals = util_memdup(default_intervals,
- sizeof(default_intervals));
- }
-
-@@ -919,7 +920,7 @@ static void policy_exit(void)
- if (reconnect_uuids)
- g_strfreev(reconnect_uuids);
-
-- g_free(reconnect_intervals);
-+ free(reconnect_intervals);
-
- g_slist_free_full(reconnects, reconnect_destroy);
-
-diff --git a/profiles/audio/avctp.c b/profiles/audio/avctp.c
-index 64d1a8504..6f64f162b 100644
---- a/profiles/audio/avctp.c
-+++ b/profiles/audio/avctp.c
-@@ -40,6 +40,7 @@
- #include "src/log.h"
- #include "src/error.h"
- #include "src/shared/timeout.h"
-+#include "src/shared/util.h"
-
- #include "avctp.h"
- #include "avrcp.h"
-@@ -760,7 +761,7 @@ static void control_req_destroy(void *data)
- NULL, 0, req->user_data);
-
- done:
-- g_free(req->operands);
-+ free(req->operands);
- g_free(req);
- }
-
-@@ -776,7 +777,7 @@ static void browsing_req_destroy(void *data)
- req->func(session, NULL, 0, req->user_data);
-
- done:
-- g_free(req->operands);
-+ free(req->operands);
- g_free(req);
- }
-
-@@ -1727,7 +1728,7 @@ static int avctp_send_req(struct avctp *session, uint8_t code,
- req->subunit = subunit;
- req->op = opcode;
- req->func = func;
-- req->operands = g_memdup(operands, operand_count);
-+ req->operands = util_memdup(operands, operand_count);
- req->operand_count = operand_count;
- req->user_data = user_data;
-
-@@ -1765,7 +1766,7 @@ int avctp_send_browsing_req(struct avctp *session,
-
- req = g_new0(struct avctp_browsing_req, 1);
- req->func = func;
-- req->operands = g_memdup(operands, operand_count);
-+ req->operands = util_memdup(operands, operand_count);
- req->operand_count = operand_count;
- req->user_data = user_data;
-
-diff --git a/profiles/audio/avrcp.c b/profiles/audio/avrcp.c
-index 7c280203c..d4e19ffc0 100644
---- a/profiles/audio/avrcp.c
-+++ b/profiles/audio/avrcp.c
-@@ -1298,7 +1298,7 @@ static uint8_t avrcp_handle_get_current_player_value(struct avrcp *session,
- * Save a copy of requested settings because we can override them
- * while responding
- */
-- settings = g_memdup(&pdu->params[1], pdu->params[0]);
-+ settings = util_memdup(&pdu->params[1], pdu->params[0]);
- len = 0;
-
- /*
-@@ -1323,7 +1323,7 @@ static uint8_t avrcp_handle_get_current_player_value(struct avrcp *session,
- pdu->params[++len] = val;
- }
-
-- g_free(settings);
-+ free(settings);
-
- if (len) {
- pdu->params[0] = len / 2;
-@@ -2801,7 +2801,7 @@ static gboolean avrcp_set_browsed_player_rsp(struct avctp *conn,
- break;
- }
-
-- folders[count] = g_memdup(&pdu->params[i], len);
-+ folders[count] = util_memdup(&pdu->params[i], len);
- i += len;
- }
-
-@@ -2888,7 +2888,7 @@ static void avrcp_player_parse_features(struct avrcp_player *player,
- {
- struct media_player *mp = player->user_data;
-
-- player->features = g_memdup(features, 16);
-+ player->features = util_memdup(features, 16);
-
- if (features[7] & 0x08) {
- media_player_set_browsable(mp, true);
-@@ -3622,7 +3622,7 @@ static void player_destroy(gpointer data)
- g_slist_free(player->sessions);
- g_free(player->path);
- g_free(player->change_path);
-- g_free(player->features);
-+ free(player->features);
- g_free(player);
- }
-
-diff --git a/profiles/battery/bas.c b/profiles/battery/bas.c
-index 3c6173b61..16ff22e19 100644
---- a/profiles/battery/bas.c
-+++ b/profiles/battery/bas.c
-@@ -62,7 +62,7 @@ static void bas_free(struct bt_bas *bas)
- {
- bt_bas_detach(bas);
-
-- g_free(bas->primary);
-+ free(bas->primary);
- queue_destroy(bas->gatt_op, (void *) destroy_gatt_req);
- free(bas);
- }
-@@ -75,7 +75,7 @@ struct bt_bas *bt_bas_new(void *primary)
- bas->gatt_op = queue_new();
-
- if (primary)
-- bas->primary = g_memdup(primary, sizeof(*bas->primary));
-+ bas->primary = util_memdup(primary, sizeof(*bas->primary));
-
- return bt_bas_ref(bas);
- }
-diff --git a/profiles/battery/battery.c b/profiles/battery/battery.c
-index 176d127f6..02d024d92 100644
---- a/profiles/battery/battery.c
-+++ b/profiles/battery/battery.c
-@@ -66,7 +66,7 @@ static void batt_free(struct batt *batt)
- gatt_db_unref(batt->db);
- bt_gatt_client_unref(batt->client);
- btd_device_unref(batt->device);
-- g_free (batt->initial_value);
-+ free(batt->initial_value);
- if (batt->battery)
- btd_battery_unregister(batt->battery);
- g_free(batt);
-@@ -159,7 +159,7 @@ static void read_initial_battery_level_cb(bool success,
- if (!length)
- return;
-
-- batt->initial_value = g_memdup(value, length);
-+ batt->initial_value = util_memdup(value, length);
-
- /* request notify */
- batt->batt_level_cb_id =
-diff --git a/profiles/deviceinfo/dis.c b/profiles/deviceinfo/dis.c
-index 87fa63306..f660179ed 100644
---- a/profiles/deviceinfo/dis.c
-+++ b/profiles/deviceinfo/dis.c
-@@ -72,7 +72,7 @@ static void dis_free(struct bt_dis *dis)
- {
- bt_dis_detach(dis);
-
-- g_free(dis->primary);
-+ free(dis->primary);
- queue_destroy(dis->gatt_op, (void *) destroy_gatt_req);
- g_free(dis);
- }
-@@ -143,7 +143,7 @@ struct bt_dis *bt_dis_new_primary(void *primary)
- dis->gatt_op = queue_new();
-
- if (primary)
-- dis->primary = g_memdup(primary, sizeof(*dis->primary));
-+ dis->primary = util_memdup(primary, sizeof(*dis->primary));
-
- return bt_dis_ref(dis);
- }
-diff --git a/profiles/input/hog-lib.c b/profiles/input/hog-lib.c
-index 3bbe42370..d37caa1f1 100644
---- a/profiles/input/hog-lib.c
-+++ b/profiles/input/hog-lib.c
-@@ -527,9 +527,9 @@ static void report_read_cb(guint8 status, const guint8 *pdu, guint16 len,
- }
-
- if (report->value)
-- g_free(report->value);
-+ free(report->value);
-
-- report->value = g_memdup(pdu, len);
-+ report->value = util_memdup(pdu, len);
- report->len = len;
- }
-
-@@ -1217,7 +1217,7 @@ static void report_free(void *data)
- {
- struct report *report = data;
-
-- g_free(report->value);
-+ free(report->value);
- g_free(report);
- }
-
-@@ -1241,7 +1241,7 @@ static void hog_free(void *data)
- bt_uhid_unref(hog->uhid);
- g_slist_free_full(hog->reports, report_free);
- g_free(hog->name);
-- g_free(hog->primary);
-+ free(hog->primary);
- queue_destroy(hog->gatt_op, (void *) destroy_gatt_req);
- if (hog->gatt_db)
- gatt_db_unref(hog->gatt_db);
-@@ -1609,7 +1609,7 @@ static void hog_attach_hog(struct bt_hog *hog, struct gatt_primary *primary)
- struct bt_hog *instance;
-
- if (!hog->primary) {
-- hog->primary = g_memdup(primary, sizeof(*primary));
-+ hog->primary = util_memdup(primary, sizeof(*primary));
- discover_char(hog, hog->attrib, primary->range.start,
- primary->range.end, NULL,
- char_discovered_cb, hog);
-@@ -1623,7 +1623,7 @@ static void hog_attach_hog(struct bt_hog *hog, struct gatt_primary *primary)
- if (!instance)
- return;
-
-- instance->primary = g_memdup(primary, sizeof(*primary));
-+ instance->primary = util_memdup(primary, sizeof(*primary));
- find_included(instance, hog->attrib, primary->range.start,
- primary->range.end, find_included_cb, instance);
-
-diff --git a/profiles/scanparam/scpp.c b/profiles/scanparam/scpp.c
-index da38a6aaa..4be8b26cc 100644
---- a/profiles/scanparam/scpp.c
-+++ b/profiles/scanparam/scpp.c
-@@ -91,7 +91,7 @@ static void scpp_free(struct bt_scpp *scan)
- {
- bt_scpp_detach(scan);
-
-- g_free(scan->primary);
-+ free(scan->primary);
- queue_destroy(scan->gatt_op, NULL); /* cleared in bt_scpp_detach */
- g_free(scan);
- }
-@@ -110,7 +110,7 @@ struct bt_scpp *bt_scpp_new(void *primary)
- scan->gatt_op = queue_new();
-
- if (primary)
-- scan->primary = g_memdup(primary, sizeof(*scan->primary));
-+ scan->primary = util_memdup(primary, sizeof(*scan->primary));
-
- return bt_scpp_ref(scan);
- }
-diff --git a/src/eir.c b/src/eir.c
-index 0f5d14fcd..2f9ee036f 100644
---- a/src/eir.c
-+++ b/src/eir.c
-@@ -53,9 +53,9 @@ void eir_data_free(struct eir_data *eir)
- eir->services = NULL;
- g_free(eir->name);
- eir->name = NULL;
-- g_free(eir->hash);
-+ free(eir->hash);
- eir->hash = NULL;
-- g_free(eir->randomizer);
-+ free(eir->randomizer);
- eir->randomizer = NULL;
- g_slist_free_full(eir->msd_list, g_free);
- eir->msd_list = NULL;
-@@ -323,13 +323,13 @@ void eir_parse(struct eir_data *eir, const uint8_t *eir_data, uint8_t eir_len)
- case EIR_SSP_HASH:
- if (data_len < 16)
- break;
-- eir->hash = g_memdup(data, 16);
-+ eir->hash = util_memdup(data, 16);
- break;
-
- case EIR_SSP_RANDOMIZER:
- if (data_len < 16)
- break;
-- eir->randomizer = g_memdup(data, 16);
-+ eir->randomizer = util_memdup(data, 16);
- break;
-
- case EIR_DEVICE_ID:
-diff --git a/tools/gatt-service.c b/tools/gatt-service.c
-index 631c4f249..ed6b06f1e 100644
---- a/tools/gatt-service.c
-+++ b/tools/gatt-service.c
-@@ -26,6 +26,7 @@
- #include "gdbus/gdbus.h"
-
- #include "src/error.h"
-+#include "src/shared/util.h"
-
- #define GATT_MGR_IFACE "org.bluez.GattManager1"
- #define GATT_SERVICE_IFACE "org.bluez.GattService1"
-@@ -126,8 +127,8 @@ static gboolean desc_get_value(const GDBusPropertyTable *property,
-
- static void desc_write(struct descriptor *desc, const uint8_t *value, int len)
- {
-- g_free(desc->value);
-- desc->value = g_memdup(value, len);
-+ free(desc->value);
-+ desc->value = util_memdup(value, len);
- desc->vlen = len;
-
- g_dbus_emit_property_changed(connection, desc->path,
-@@ -264,8 +265,8 @@ static gboolean chr_get_props(const GDBusPropertyTable *property,
-
- static void chr_write(struct characteristic *chr, const uint8_t *value, int len)
- {
-- g_free(chr->value);
-- chr->value = g_memdup(value, len);
-+ free(chr->value);
-+ chr->value = util_memdup(value, len);
- chr->vlen = len;
-
- g_dbus_emit_property_changed(connection, chr->path, GATT_CHR_IFACE,
-@@ -388,7 +389,7 @@ static void chr_iface_destroy(gpointer user_data)
-
- g_free(chr->uuid);
- g_free(chr->service);
-- g_free(chr->value);
-+ free(chr->value);
- g_free(chr->path);
- g_free(chr);
- }
-@@ -398,7 +399,7 @@ static void desc_iface_destroy(gpointer user_data)
- struct descriptor *desc = user_data;
-
- g_free(desc->uuid);
-- g_free(desc->value);
-+ free(desc->value);
- g_free(desc->path);
- g_free(desc);
- }
-@@ -592,7 +593,7 @@ static gboolean register_characteristic(const char *chr_uuid,
-
- chr = g_new0(struct characteristic, 1);
- chr->uuid = g_strdup(chr_uuid);
-- chr->value = g_memdup(value, vlen);
-+ chr->value = util_memdup(value, vlen);
- chr->vlen = vlen;
- chr->props = props;
- chr->service = g_strdup(service_path);
-diff --git a/tools/mesh-gatt/gatt.c b/tools/mesh-gatt/gatt.c
-index c8a8123fb..ab9743cd1 100644
---- a/tools/mesh-gatt/gatt.c
-+++ b/tools/mesh-gatt/gatt.c
-@@ -24,6 +24,7 @@
-
- #include "src/shared/io.h"
- #include "src/shared/shell.h"
-+#include "src/shared/util.h"
- #include "gdbus/gdbus.h"
- #include "lib/bluetooth.h"
- #include "lib/uuid.h"
-@@ -86,7 +87,7 @@ static void write_data_free(void *user_data)
- {
- struct write_data *data = user_data;
-
-- g_free(data->gatt_data);
-+ free(data->gatt_data);
- free(data);
- }
-
-@@ -338,7 +339,7 @@ bool mesh_gatt_write(GDBusProxy *proxy, uint8_t *buf, uint16_t len,
- /* TODO: should keep in queue in case we need to cancel write? */
-
- data->gatt_len = len;
-- data->gatt_data = g_memdup(buf, len);
-+ data->gatt_data = util_memdup(buf, len);
- data->gatt_data[0] &= GATT_TYPE_MASK;
- data->iov.iov_base = data->gatt_data;
- data->iov.iov_len = len;
-diff --git a/unit/test-avctp.c b/unit/test-avctp.c
-index fa7db59c8..25fd3abc2 100644
---- a/unit/test-avctp.c
-+++ b/unit/test-avctp.c
-@@ -53,7 +53,7 @@ struct context {
- #define raw_pdu(args...) \
- { \
- .valid = true, \
-- .data = g_memdup(data(args), sizeof(data(args))), \
-+ .data = util_memdup(data(args), sizeof(data(args))), \
- .size = sizeof(data(args)), \
- }
-
-@@ -64,7 +64,7 @@ struct context {
- }; \
- static struct test_data data; \
- data.test_name = g_strdup(name); \
-- data.pdu_list = g_memdup(pdus, sizeof(pdus)); \
-+ data.pdu_list = util_memdup(pdus, sizeof(pdus)); \
- tester_add(name, &data, NULL, function, NULL); \
- } while (0)
-
-diff --git a/unit/test-avdtp.c b/unit/test-avdtp.c
-index 4e8a68c6b..2e49def43 100644
---- a/unit/test-avdtp.c
-+++ b/unit/test-avdtp.c
-@@ -48,7 +48,7 @@ struct test_data {
- #define raw_pdu(args...) \
- { \
- .valid = true, \
-- .data = g_memdup(data(args), sizeof(data(args))), \
-+ .data = util_memdup(data(args), sizeof(data(args))), \
- .size = sizeof(data(args)), \
- }
-
-@@ -56,7 +56,7 @@ struct test_data {
- { \
- .valid = true, \
- .fragmented = true, \
-- .data = g_memdup(data(args), sizeof(data(args))), \
-+ .data = util_memdup(data(args), sizeof(data(args))), \
- .size = sizeof(data(args)), \
- }
-
-@@ -67,7 +67,7 @@ struct test_data {
- }; \
- static struct test_data data; \
- data.test_name = g_strdup(name); \
-- data.pdu_list = g_memdup(pdus, sizeof(pdus)); \
-+ data.pdu_list = util_memdup(pdus, sizeof(pdus)); \
- tester_add(name, &data, NULL, function, NULL); \
- } while (0)
-
-diff --git a/unit/test-avrcp.c b/unit/test-avrcp.c
-index 34a70377d..b637a8a1b 100644
---- a/unit/test-avrcp.c
-+++ b/unit/test-avrcp.c
-@@ -61,7 +61,7 @@ struct context {
- #define raw_pdu(args...) \
- { \
- .valid = true, \
-- .data = g_memdup(data(args), sizeof(data(args))), \
-+ .data = util_memdup(data(args), sizeof(data(args))), \
- .size = sizeof(data(args)), \
- }
-
-@@ -69,7 +69,7 @@ struct context {
- { \
- .valid = true, \
- .browse = true, \
-- .data = g_memdup(data(args), sizeof(data(args))), \
-+ .data = util_memdup(data(args), sizeof(data(args))), \
- .size = sizeof(data(args)), \
- }
-
-@@ -77,7 +77,7 @@ struct context {
- { \
- .valid = true, \
- .fragmented = true, \
-- .data = g_memdup(data(args), sizeof(data(args))), \
-+ .data = util_memdup(data(args), sizeof(data(args))), \
- .size = sizeof(data(args)), \
- }
-
-@@ -85,7 +85,7 @@ struct context {
- { \
- .valid = true, \
- .continuing = true, \
-- .data = g_memdup(data(args), sizeof(data(args))), \
-+ .data = util_memdup(data(args), sizeof(data(args))), \
- .size = sizeof(data(args)), \
- }
-
-@@ -96,7 +96,7 @@ struct context {
- }; \
- static struct test_data data; \
- data.test_name = g_strdup(name); \
-- data.pdu_list = g_memdup(pdus, sizeof(pdus)); \
-+ data.pdu_list = util_memdup(pdus, sizeof(pdus)); \
- tester_add(name, &data, NULL, function, NULL); \
- } while (0)
-
-diff --git a/unit/test-gatt.c b/unit/test-gatt.c
-index 6a47268e6..f92d860c4 100644
---- a/unit/test-gatt.c
-+++ b/unit/test-gatt.c
-@@ -73,7 +73,7 @@ struct context {
- #define raw_pdu(args...) \
- { \
- .valid = true, \
-- .data = g_memdup(data(args), sizeof(data(args))), \
-+ .data = util_memdup(data(args), sizeof(data(args))), \
- .size = sizeof(data(args)), \
- }
-
-@@ -94,7 +94,7 @@ struct context {
- data.uuid = bt_uuid; \
- data.step = test_step; \
- data.source_db = db; \
-- data.pdu_list = g_memdup(pdus, sizeof(pdus)); \
-+ data.pdu_list = util_memdup(pdus, sizeof(pdus)); \
- tester_add(name, &data, NULL, function, NULL); \
- } while (0)
-
-diff --git a/unit/test-hfp.c b/unit/test-hfp.c
-index f504724d7..b4af99d53 100644
---- a/unit/test-hfp.c
-+++ b/unit/test-hfp.c
-@@ -17,6 +17,7 @@
- #include <glib.h>
- #include "src/shared/hfp.h"
- #include "src/shared/tester.h"
-+#include "src/shared/util.h"
-
- struct context {
- guint watch_id;
-@@ -50,7 +51,7 @@ struct test_data {
- #define raw_pdu(args...) \
- { \
- .valid = true, \
-- .data = g_memdup(data(args), sizeof(data(args))), \
-+ .data = util_memdup(data(args), sizeof(data(args))), \
- .size = sizeof(data(args)), \
- }
-
-@@ -62,7 +63,7 @@ struct test_data {
- #define type_pdu(cmd_type, args...) \
- { \
- .valid = true, \
-- .data = g_memdup(data(args), sizeof(data(args))), \
-+ .data = util_memdup(data(args), sizeof(data(args))), \
- .size = sizeof(data(args)), \
- .type = cmd_type, \
- }
-@@ -70,7 +71,7 @@ struct test_data {
- #define frg_pdu(args...) \
- { \
- .valid = true, \
-- .data = g_memdup(data(args), sizeof(data(args))), \
-+ .data = util_memdup(data(args), sizeof(data(args))), \
- .size = sizeof(data(args)), \
- .fragmented = true, \
- }
-@@ -82,7 +83,7 @@ struct test_data {
- }; \
- static struct test_data data; \
- data.test_name = g_strdup(name); \
-- data.pdu_list = g_memdup(pdus, sizeof(pdus)); \
-+ data.pdu_list = util_memdup(pdus, sizeof(pdus)); \
- data.result_func = result_function; \
- tester_add(name, &data, NULL, function, NULL); \
- data.test_handler = test_handler; \
-@@ -96,7 +97,7 @@ struct test_data {
- }; \
- static struct test_data data; \
- data.test_name = g_strdup(name); \
-- data.pdu_list = g_memdup(pdus, sizeof(pdus)); \
-+ data.pdu_list = util_memdup(pdus, sizeof(pdus)); \
- data.hf_result_func = result_func; \
- data.response_func = response_function; \
- tester_add(name, &data, NULL, function, NULL); \
-diff --git a/unit/test-hog.c b/unit/test-hog.c
-index 116a5cb07..067497de4 100644
---- a/unit/test-hog.c
-+++ b/unit/test-hog.c
-@@ -59,24 +59,24 @@ struct context {
- #define raw_pdu(args...) \
- { \
- .valid = true, \
-- .data = g_memdup(data(args), sizeof(data(args))), \
-+ .data = util_memdup(data(args), sizeof(data(args))), \
- .size = sizeof(data(args)), \
- }
-
--#define false_pdu() \
--{ \
-- .valid = false, \
-+#define false_pdu() \
-+{ \
-+ .valid = false, \
- }
-
--#define define_test(name, function, args...) \
-- do { \
-- const struct test_pdu pdus[] = { \
-- args, { } \
-- }; \
-- static struct test_data data; \
-- data.test_name = g_strdup(name); \
-- data.pdu_list = g_memdup(pdus, sizeof(pdus)); \
-- tester_add(name, &data, NULL, function, NULL); \
-+#define define_test(name, function, args...) \
-+ do { \
-+ const struct test_pdu pdus[] = { \
-+ args, { } \
-+ }; \
-+ static struct test_data data; \
-+ data.test_name = g_strdup(name); \
-+ data.pdu_list = util_memdup(pdus, sizeof(pdus));\
-+ tester_add(name, &data, NULL, function, NULL); \
- } while (0)
-
- static gboolean context_quit(gpointer user_data)
-diff --git a/unit/test-sdp.c b/unit/test-sdp.c
-index 8f95fcb71..5c04a71eb 100644
---- a/unit/test-sdp.c
-+++ b/unit/test-sdp.c
-@@ -47,14 +47,16 @@ struct test_data {
- #define raw_pdu(args...) \
- { \
- .valid = true, \
-- .raw_data = g_memdup(raw_data(args), sizeof(raw_data(args))), \
-+ .raw_data = util_memdup(raw_data(args), \
-+ sizeof(raw_data(args))), \
- .raw_size = sizeof(raw_data(args)), \
- }
-
- #define raw_pdu_cont(cont, args...) \
- { \
- .valid = true, \
-- .raw_data = g_memdup(raw_data(args), sizeof(raw_data(args))), \
-+ .raw_data = util_memdup(raw_data(args), \
-+ sizeof(raw_data(args))), \
- .raw_size = sizeof(raw_data(args)), \
- .cont_len = cont, \
- }
-@@ -66,7 +68,7 @@ struct test_data {
- }; \
- static struct test_data data; \
- data.mtu = _mtu; \
-- data.pdu_list = g_memdup(pdus, sizeof(pdus)); \
-+ data.pdu_list = util_memdup(pdus, sizeof(pdus)); \
- tester_add(name, &data, NULL, test_sdp, NULL); \
- } while (0)
-
-@@ -92,7 +94,7 @@ struct test_data_de {
- #define define_test_de_attr(name, input, exp) \
- do { \
- static struct test_data_de data; \
-- data.input_data = g_memdup(input, sizeof(input)); \
-+ data.input_data = util_memdup(input, sizeof(input)); \
- data.input_size = sizeof(input); \
- data.expected = exp; \
- tester_add("/sdp/DE/ATTR/" name, &data, NULL, \
-diff --git a/unit/test-uhid.c b/unit/test-uhid.c
-index 001d39a3d..8a8eef855 100644
---- a/unit/test-uhid.c
-+++ b/unit/test-uhid.c
-@@ -61,7 +61,7 @@ struct context {
- }; \
- static struct test_data data; \
- data.test_name = g_strdup(name); \
-- data.pdu_list = g_memdup(pdus, sizeof(pdus)); \
-+ data.pdu_list = util_memdup(pdus, sizeof(pdus)); \
- tester_add(name, &data, NULL, function, NULL); \
- } while (0)
-
---
-2.17.1
-
diff --git a/package/bluez5_utils/0005-build-Fix-errors-with-glibc-2-25.patch b/package/bluez5_utils/0005-build-Fix-errors-with-glibc-2-25.patch
deleted file mode 100644
index 13033da7b2..0000000000
--- a/package/bluez5_utils/0005-build-Fix-errors-with-glibc-2-25.patch
+++ /dev/null
@@ -1,312 +0,0 @@
-From fb57ad9b9d107856e5f1c8135da04ffa2f7a11ac Mon Sep 17 00:00:00 2001
-From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-Date: Mon, 14 Feb 2022 21:17:39 +0100
-Subject: build: Fix errors with glibc < 2.25
-
-getrandom and sys/random.h are only available since glibc 2.25:
-https://www.gnu.org/software/gnulib/manual/html_node/sys_002frandom_002eh.html
-resulting in the following build failures since version 5.63 and
-https://git.kernel.org/pub/scm/bluetooth/bluez.git/log/?qt=grep&q=getrandom:
-
-plugins/autopair.c:20:24: fatal error: sys/random.h: No such file or directory
- #include <sys/random.h>
- ^
-
-To fix this build failure, add util_getrandom and a fallback (borrowed
-from pipewire and licensed under MIT):
-https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/src/pipewire/utils.c
-
-Fixes:
- - http://autobuild.buildroot.org/results/6b8870d12e0804d6154230a7322c49416c1dc0e2
-
-[Retrieved from:
-https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=fb57ad9b9d107856e5f1c8135da04ffa2f7a11ac]
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
----
- configure.ac | 4 +++-
- emulator/le.c | 3 +--
- emulator/phy.c | 3 +--
- peripheral/main.c | 4 ++--
- plugins/autopair.c | 4 ++--
- profiles/health/hdp.c | 4 ++--
- profiles/health/mcap.c | 6 +++---
- src/shared/util.c | 25 +++++++++++++++++++++++++
- src/shared/util.h | 2 ++
- tools/btgatt-server.c | 3 +--
- 10 files changed, 42 insertions(+), 16 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 07d068a4d..441bd5f29 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -54,6 +54,8 @@ AC_ARG_ENABLE(threads, AS_HELP_STRING([--enable-threads],
-
- AC_CHECK_FUNCS(explicit_bzero)
-
-+AC_CHECK_FUNCS(getrandom)
-+
- AC_CHECK_FUNCS(rawmemchr)
-
- AC_CHECK_FUNC(signalfd, dummy=yes,
-@@ -68,7 +70,7 @@ AC_CHECK_LIB(pthread, pthread_create, dummy=yes,
- AC_CHECK_LIB(dl, dlopen, dummy=yes,
- AC_MSG_ERROR(dynamic linking loader is required))
-
--AC_CHECK_HEADERS(linux/types.h linux/if_alg.h linux/uinput.h linux/uhid.h)
-+AC_CHECK_HEADERS(linux/types.h linux/if_alg.h linux/uinput.h linux/uhid.h sys/random.h)
-
- PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.28, dummy=yes,
- AC_MSG_ERROR(GLib >= 2.28 is required))
-diff --git a/emulator/le.c b/emulator/le.c
-index f8f313f2c..7656a657c 100644
---- a/emulator/le.c
-+++ b/emulator/le.c
-@@ -20,7 +20,6 @@
- #include <sys/socket.h>
- #include <sys/un.h>
- #include <sys/uio.h>
--#include <sys/random.h>
- #include <time.h>
-
- #include "lib/bluetooth.h"
-@@ -509,7 +508,7 @@ static unsigned int get_adv_delay(void)
- /* The advertising delay is a pseudo-random value with a range
- * of 0 ms to 10 ms generated for each advertising event.
- */
-- if (getrandom(&val, sizeof(val), 0) < 0) {
-+ if (util_getrandom(&val, sizeof(val), 0) < 0) {
- /* If it fails to get the random number, use a static value */
- val = 5;
- }
-diff --git a/emulator/phy.c b/emulator/phy.c
-index 44cace438..7de85fb05 100644
---- a/emulator/phy.c
-+++ b/emulator/phy.c
-@@ -19,7 +19,6 @@
- #include <stdlib.h>
- #include <string.h>
- #include <sys/socket.h>
--#include <sys/random.h>
- #include <netinet/in.h>
- #include <netinet/ip.h>
- #include <time.h>
-@@ -174,7 +173,7 @@ struct bt_phy *bt_phy_new(void)
- mainloop_add_fd(phy->rx_fd, EPOLLIN, phy_rx_callback, phy, NULL);
-
- if (!get_random_bytes(&phy->id, sizeof(phy->id))) {
-- if (getrandom(&phy->id, sizeof(phy->id), 0) < 0) {
-+ if (util_getrandom(&phy->id, sizeof(phy->id), 0) < 0) {
- mainloop_remove_fd(phy->rx_fd);
- close(phy->tx_fd);
- close(phy->rx_fd);
-diff --git a/peripheral/main.c b/peripheral/main.c
-index 91adb45fc..b82d7caf6 100644
---- a/peripheral/main.c
-+++ b/peripheral/main.c
-@@ -25,13 +25,13 @@
- #include <sys/stat.h>
- #include <sys/types.h>
- #include <sys/mount.h>
--#include <sys/random.h>
-
- #ifndef WAIT_ANY
- #define WAIT_ANY (-1)
- #endif
-
- #include "src/shared/mainloop.h"
-+#include "src/shared/util.h"
- #include "peripheral/efivars.h"
- #include "peripheral/attach.h"
- #include "peripheral/gap.h"
-@@ -192,7 +192,7 @@ int main(int argc, char *argv[])
- addr, 6) < 0) {
- printf("Generating new persistent static address\n");
-
-- if (getrandom(addr, sizeof(addr), 0) < 0) {
-+ if (util_getrandom(addr, sizeof(addr), 0) < 0) {
- perror("Failed to get random static address");
- return EXIT_FAILURE;
- }
-diff --git a/plugins/autopair.c b/plugins/autopair.c
-index a75ecebe4..0b09e893f 100644
---- a/plugins/autopair.c
-+++ b/plugins/autopair.c
-@@ -17,7 +17,6 @@
- #include <fcntl.h>
- #include <unistd.h>
- #include <errno.h>
--#include <sys/random.h>
-
- #include <glib.h>
-
-@@ -29,6 +28,7 @@
- #include "src/device.h"
- #include "src/log.h"
- #include "src/storage.h"
-+#include "src/shared/util.h"
-
- /*
- * Plugin to handle automatic pairing of devices with reduced user
-@@ -131,7 +131,7 @@ static ssize_t autopair_pincb(struct btd_adapter *adapter,
- if (attempt >= 4)
- return 0;
-
-- if (getrandom(&val, sizeof(val), 0) < 0) {
-+ if (util_getrandom(&val, sizeof(val), 0) < 0) {
- error("Failed to get a random pincode");
- return 0;
- }
-diff --git a/profiles/health/hdp.c b/profiles/health/hdp.c
-index 9d9d1e824..b6590cd3a 100644
---- a/profiles/health/hdp.c
-+++ b/profiles/health/hdp.c
-@@ -16,7 +16,6 @@
- #include <stdint.h>
- #include <stdbool.h>
- #include <unistd.h>
--#include <sys/random.h>
-
- #include <glib.h>
-
-@@ -33,6 +32,7 @@
- #include "src/device.h"
- #include "src/sdpd.h"
- #include "src/shared/timeout.h"
-+#include "src/shared/util.h"
- #include "btio/btio.h"
-
- #include "hdp_types.h"
-@@ -1490,7 +1490,7 @@ static void *generate_echo_packet(void)
- if (!buf)
- return NULL;
-
-- if (getrandom(buf, HDP_ECHO_LEN, 0) < 0) {
-+ if (util_getrandom(buf, HDP_ECHO_LEN, 0) < 0) {
- g_free(buf);
- return NULL;
- }
-diff --git a/profiles/health/mcap.c b/profiles/health/mcap.c
-index aad0a08a3..5d2bac3d9 100644
---- a/profiles/health/mcap.c
-+++ b/profiles/health/mcap.c
-@@ -19,7 +19,6 @@
- #include <errno.h>
- #include <unistd.h>
- #include <time.h>
--#include <sys/random.h>
-
- #include <glib.h>
-
-@@ -28,6 +27,7 @@
- #include "btio/btio.h"
- #include "src/log.h"
- #include "src/shared/timeout.h"
-+#include "src/shared/util.h"
-
- #include "mcap.h"
-
-@@ -1905,7 +1905,7 @@ gboolean mcap_create_mcl(struct mcap_instance *mi,
- mcl->state = MCL_IDLE;
- bacpy(&mcl->addr, addr);
- set_default_cb(mcl);
-- if (getrandom(&val, sizeof(val), 0) < 0) {
-+ if (util_getrandom(&val, sizeof(val), 0) < 0) {
- mcap_instance_unref(mcl->mi);
- g_free(mcl);
- return FALSE;
-@@ -2049,7 +2049,7 @@ static void connect_mcl_event_cb(GIOChannel *chan, GError *gerr,
- mcl->mi = mcap_instance_ref(mi);
- bacpy(&mcl->addr, &dst);
- set_default_cb(mcl);
-- if (getrandom(&val, sizeof(val), 0) < 0) {
-+ if (util_getrandom(&val, sizeof(val), 0) < 0) {
- mcap_instance_unref(mcl->mi);
- g_free(mcl);
- goto drop;
-diff --git a/src/shared/util.c b/src/shared/util.c
-index 6e1c83057..33196bf8b 100644
---- a/src/shared/util.c
-+++ b/src/shared/util.c
-@@ -13,6 +13,7 @@
- #endif
-
- #define _GNU_SOURCE
-+#include <fcntl.h>
- #include <stdio.h>
- #include <ctype.h>
- #include <stdbool.h>
-@@ -23,6 +24,10 @@
- #include <limits.h>
- #include <string.h>
-
-+#ifdef HAVE_SYS_RANDOM_H
-+#include <sys/random.h>
-+#endif
-+
- #include "src/shared/util.h"
-
- void *util_malloc(size_t size)
-@@ -138,6 +143,26 @@ unsigned char util_get_dt(const char *parent, const char *name)
- return DT_UNKNOWN;
- }
-
-+/* Helper for getting a random in case getrandom unavailable (glibc < 2.25) */
-+ssize_t util_getrandom(void *buf, size_t buflen, unsigned int flags)
-+{
-+#ifdef HAVE_GETRANDOM
-+ return getrandom(buf, buflen, flags);
-+#else
-+ int fd;
-+ ssize_t bytes;
-+
-+ fd = open("/dev/urandom", O_CLOEXEC);
-+ if (fd < 0)
-+ return -1;
-+
-+ bytes = read(fd, buf, buflen);
-+ close(fd);
-+
-+ return bytes;
-+#endif
-+}
-+
- /* Helpers for bitfield operations */
-
- /* Find unique id in range from 1 to max but no bigger than 64. */
-diff --git a/src/shared/util.h b/src/shared/util.h
-index 8ef6132c4..c01eccf8a 100644
---- a/src/shared/util.h
-+++ b/src/shared/util.h
-@@ -103,6 +103,8 @@ void util_hexdump(const char dir, const unsigned char *buf, size_t len,
-
- unsigned char util_get_dt(const char *parent, const char *name);
-
-+ssize_t util_getrandom(void *buf, size_t buflen, unsigned int flags);
-+
- uint8_t util_get_uid(uint64_t *bitmap, uint8_t max);
- void util_clear_uid(uint64_t *bitmap, uint8_t id);
-
-diff --git a/tools/btgatt-server.c b/tools/btgatt-server.c
-index 15d49a464..4a5d2b720 100644
---- a/tools/btgatt-server.c
-+++ b/tools/btgatt-server.c
-@@ -20,7 +20,6 @@
- #include <getopt.h>
- #include <unistd.h>
- #include <errno.h>
--#include <sys/random.h>
-
- #include "lib/bluetooth.h"
- #include "lib/hci.h"
-@@ -287,7 +286,7 @@ static bool hr_msrmt_cb(void *user_data)
- uint32_t cur_ee;
- uint32_t val;
-
-- if (getrandom(&val, sizeof(val), 0) < 0)
-+ if (util_getrandom(&val, sizeof(val), 0) < 0)
- return false;
-
- pdu[0] = 0x06;
---
-cgit
-
diff --git a/package/bluez5_utils/0006-src-shared-util.h-include-sys-types.h.patch b/package/bluez5_utils/0006-src-shared-util.h-include-sys-types.h.patch
deleted file mode 100644
index 8a5bd64d43..0000000000
--- a/package/bluez5_utils/0006-src-shared-util.h-include-sys-types.h.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 1d21878d84f16e28e16c61b36799a62e22732d97 Mon Sep 17 00:00:00 2001
-From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-Date: Thu, 24 Feb 2022 18:19:33 +0100
-Subject: [PATCH] src/shared/util.h: include sys/types.h
-
-Include sys/types.h to avoid the following build failure on musl raised
-since commit fb57ad9b9d107856e5f1c8135da04ffa2f7a11ac:
-
-In file included from src/shared/queue.c:15:
-./src/shared/util.h:106:1: error: unknown type name 'ssize_t'; did you mean 'size_t'?
- 106 | ssize_t util_getrandom(void *buf, size_t buflen, unsigned int flags);
- | ^~~~~~~
- | size_t
-
-Fixes:
- - http://autobuild.buildroot.org/results/83eaeb3863040645409f5787fdbdde79385c5257
-
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-[Upstream status:
-https://patchwork.kernel.org/project/bluetooth/patch/20220224173104.479809-1-fontaine.fabrice@gmail.com]
----
- src/shared/util.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/shared/util.h b/src/shared/util.h
-index c01eccf8a..554481e1e 100644
---- a/src/shared/util.h
-+++ b/src/shared/util.h
-@@ -14,6 +14,7 @@
- #include <alloca.h>
- #include <byteswap.h>
- #include <string.h>
-+#include <sys/types.h>
-
- #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
- #define BIT(n) (1 << (n))
---
-2.34.1
-
diff --git a/package/bluez5_utils/bluez5_utils.hash b/package/bluez5_utils/bluez5_utils.hash
index a8f5399fa6..0324dd2d77 100644
--- a/package/bluez5_utils/bluez5_utils.hash
+++ b/package/bluez5_utils/bluez5_utils.hash
@@ -1,5 +1,5 @@
# From https://www.kernel.org/pub/linux/bluetooth/sha256sums.asc:
-sha256 9349e11e8160bb3d720835d271250d8a7424d3690f5289e6db6fe07cc66c6d76 bluez-5.63.tar.xz
+sha256 ae437e65b6b3070c198bc5b0109fe9cdeb9eaa387380e2072f9de65fe8a1de34 bluez-5.64.tar.xz
# Locally computed
sha256 b499eddebda05a8859e32b820a64577d91f1de2b52efa2a1575a2cb4000bc259 COPYING
sha256 ec60b993835e2c6b79e6d9226345f4e614e686eb57dc13b6420c15a33a8996e5 COPYING.LIB
diff --git a/package/bluez5_utils/bluez5_utils.mk b/package/bluez5_utils/bluez5_utils.mk
index 3d76cfb7dc..8e2c657899 100644
--- a/package/bluez5_utils/bluez5_utils.mk
+++ b/package/bluez5_utils/bluez5_utils.mk
@@ -5,7 +5,7 @@
################################################################################
# Keep the version and patches in sync with bluez5_utils-headers
-BLUEZ5_UTILS_VERSION = 5.63
+BLUEZ5_UTILS_VERSION = 5.64
BLUEZ5_UTILS_SOURCE = bluez-$(BLUEZ5_UTILS_VERSION).tar.xz
BLUEZ5_UTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth
BLUEZ5_UTILS_INSTALL_STAGING = YES
@@ -13,8 +13,6 @@ BLUEZ5_UTILS_LICENSE = GPL-2.0+, LGPL-2.1+
BLUEZ5_UTILS_LICENSE_FILES = COPYING COPYING.LIB
BLUEZ5_UTILS_CPE_ID_VENDOR = bluez
BLUEZ5_UTILS_CPE_ID_PRODUCT = bluez
-# We're patching Makefile.am and configure.ac
-BLUEZ5_UTILS_AUTORECONF = YES
BLUEZ5_UTILS_DEPENDENCIES = \
$(if $(BR2_PACKAGE_BLUEZ5_UTILS_HEADERS),bluez5_utils-headers) \
--
2.30.2
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [Buildroot] [PATCH 1/1] package/{bluez5_utils, bluez5_utils-headers}: bump to version 5.64
2022-03-20 11:54 [Buildroot] [PATCH 1/1] package/{bluez5_utils, bluez5_utils-headers}: bump to version 5.64 Bernd Kuhls
@ 2022-03-20 17:03 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 2+ messages in thread
From: Thomas Petazzoni via buildroot @ 2022-03-20 17:03 UTC (permalink / raw)
To: Bernd Kuhls; +Cc: Grzegorz Blach, Marcin Bis, buildroot
On Sun, 20 Mar 2022 12:54:01 +0100
Bernd Kuhls <bernd.kuhls@t-online.de> wrote:
> Removed all patches after being applied upstream:
> https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=ec8c8f22efb66ccae533fbd55a236570ffcf756c
> https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=710220f861b100856711a0a4d4a852874228a57a
> https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=9f09e69ecb077082301dafb745856e1f3731aaa7
> https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=cfab569484b18407fc117bb96634525cc76ea1f5
> https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=fb57ad9b9d107856e5f1c8135da04ffa2f7a11ac
> https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=58dec00edcaa316909cdd5309bd7bd3239ee221a
>
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> ---
> .../bluez5_utils-headers.mk | 2 +-
> ...-tools-mesh-cfgtest-include-limits.h.patch | 33 -
> ...til-Rename-btd_malloc-to-util_malloc.patch | 67 -
> .../0003-shared-util-Add-util_memdup.patch | 57 -
> ...ace-use-of-g_memdup-with-util_memdup.patch | 1411 -----------------
> ...005-build-Fix-errors-with-glibc-2-25.patch | 312 ----
> ...rc-shared-util.h-include-sys-types.h.patch | 39 -
> package/bluez5_utils/bluez5_utils.hash | 2 +-
> package/bluez5_utils/bluez5_utils.mk | 4 +-
> 9 files changed, 3 insertions(+), 1924 deletions(-)
> delete mode 100644 package/bluez5_utils/0001-tools-mesh-cfgtest-include-limits.h.patch
> delete mode 100644 package/bluez5_utils/0002-shared-util-Rename-btd_malloc-to-util_malloc.patch
> delete mode 100644 package/bluez5_utils/0003-shared-util-Add-util_memdup.patch
> delete mode 100644 package/bluez5_utils/0004-build-Replace-use-of-g_memdup-with-util_memdup.patch
> delete mode 100644 package/bluez5_utils/0005-build-Fix-errors-with-glibc-2-25.patch
> delete mode 100644 package/bluez5_utils/0006-src-shared-util.h-include-sys-types.h.patch
Applied to master, thanks.
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-03-20 17:03 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-03-20 11:54 [Buildroot] [PATCH 1/1] package/{bluez5_utils, bluez5_utils-headers}: bump to version 5.64 Bernd Kuhls
2022-03-20 17:03 ` Thomas Petazzoni via buildroot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.