0004-build-Replace-use-of-g_memdup-with-util_memdup.patch 47 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411
  1. From 7eb74180cf6fd6cebc61bb719d458cbf5d7f4ca7 Mon Sep 17 00:00:00 2001
  2. From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  3. Date: Thu, 6 Jan 2022 12:50:33 -0800
  4. Subject: [PATCH] build: Replace use of g_memdup with util_memdup
  5. MIME-Version: 1.0
  6. Content-Type: text/plain; charset=UTF-8
  7. Content-Transfer-Encoding: 8bit
  8. This replaces the uses of g_memdup with util_memdup since the former has
  9. been deprecated:
  10. warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead
  11. [-Wdeprecated-declarations]
  12. g_memdup2 requires bumping glib version which would likely have its
  13. own problems thus why util_memdup was introduced.
  14. (cherry picked from commit cfab569484b18407fc117bb96634525cc76ea1f5)
  15. Signed-off-by: Thomas Devoogdt <thomas.devoogdt@gmail.com>
  16. ---
  17. Makefile.am | 10 ++---
  18. Makefile.obexd | 1 +
  19. Makefile.tools | 11 ++++--
  20. android/a2dp.c | 9 +++--
  21. android/avctp.c | 5 ++-
  22. android/avrcp-lib.c | 2 +-
  23. android/gatt.c | 5 ++-
  24. android/hidhost.c | 3 +-
  25. android/tester-main.c | 77 +++++++++++++++++++++-----------------
  26. attrib/gatt.c | 12 +++---
  27. client/gatt.c | 2 +-
  28. gobex/gobex-header.c | 7 ++--
  29. gobex/gobex-packet.c | 5 ++-
  30. obexd/src/obex.c | 5 ++-
  31. plugins/neard.c | 9 +++--
  32. plugins/policy.c | 7 ++--
  33. profiles/audio/avctp.c | 9 +++--
  34. profiles/audio/avrcp.c | 10 ++---
  35. profiles/battery/bas.c | 4 +-
  36. profiles/battery/battery.c | 4 +-
  37. profiles/deviceinfo/dis.c | 4 +-
  38. profiles/input/hog-lib.c | 12 +++---
  39. profiles/scanparam/scpp.c | 4 +-
  40. src/eir.c | 8 ++--
  41. tools/gatt-service.c | 15 ++++----
  42. tools/mesh-gatt/gatt.c | 5 ++-
  43. unit/test-avctp.c | 4 +-
  44. unit/test-avdtp.c | 6 +--
  45. unit/test-avrcp.c | 10 ++---
  46. unit/test-gatt.c | 4 +-
  47. unit/test-hfp.c | 11 +++---
  48. unit/test-hog.c | 26 ++++++-------
  49. unit/test-sdp.c | 10 +++--
  50. unit/test-uhid.c | 2 +-
  51. 34 files changed, 172 insertions(+), 146 deletions(-)
  52. diff --git a/Makefile.am b/Makefile.am
  53. index 308f13c50..9b5e140b8 100644
  54. --- a/Makefile.am
  55. +++ b/Makefile.am
  56. @@ -508,23 +508,23 @@ unit_tests += unit/test-gobex-header unit/test-gobex-packet unit/test-gobex \
  57. unit_test_gobex_SOURCES = $(gobex_sources) unit/util.c unit/util.h \
  58. unit/test-gobex.c
  59. -unit_test_gobex_LDADD = $(GLIB_LIBS)
  60. +unit_test_gobex_LDADD = src/libshared-glib.la $(GLIB_LIBS)
  61. unit_test_gobex_packet_SOURCES = $(gobex_sources) unit/util.c unit/util.h \
  62. unit/test-gobex-packet.c
  63. -unit_test_gobex_packet_LDADD = $(GLIB_LIBS)
  64. +unit_test_gobex_packet_LDADD = src/libshared-glib.la $(GLIB_LIBS)
  65. unit_test_gobex_header_SOURCES = $(gobex_sources) unit/util.c unit/util.h \
  66. unit/test-gobex-header.c
  67. -unit_test_gobex_header_LDADD = $(GLIB_LIBS)
  68. +unit_test_gobex_header_LDADD = src/libshared-glib.la $(GLIB_LIBS)
  69. unit_test_gobex_transfer_SOURCES = $(gobex_sources) unit/util.c unit/util.h \
  70. unit/test-gobex-transfer.c
  71. -unit_test_gobex_transfer_LDADD = $(GLIB_LIBS)
  72. +unit_test_gobex_transfer_LDADD = src/libshared-glib.la $(GLIB_LIBS)
  73. unit_test_gobex_apparam_SOURCES = $(gobex_sources) unit/util.c unit/util.h \
  74. unit/test-gobex-apparam.c
  75. -unit_test_gobex_apparam_LDADD = $(GLIB_LIBS)
  76. +unit_test_gobex_apparam_LDADD = src/libshared-glib.la $(GLIB_LIBS)
  77. endif
  78. unit_tests += unit/test-lib
  79. diff --git a/Makefile.obexd b/Makefile.obexd
  80. index 37a133455..5d1a4ff65 100644
  81. --- a/Makefile.obexd
  82. +++ b/Makefile.obexd
  83. @@ -82,6 +82,7 @@ obexd_src_obexd_SOURCES = $(btio_sources) $(gobex_sources) \
  84. obexd/src/map_ap.h
  85. obexd_src_obexd_LDADD = lib/libbluetooth-internal.la \
  86. gdbus/libgdbus-internal.la \
  87. + src/libshared-glib.la \
  88. $(ICAL_LIBS) $(DBUS_LIBS) $(LIBEBOOK_LIBS) \
  89. $(LIBEDATASERVER_LIBS) $(GLIB_LIBS) -ldl
  90. diff --git a/Makefile.tools b/Makefile.tools
  91. index c7bdff83f..35b0021ea 100644
  92. --- a/Makefile.tools
  93. +++ b/Makefile.tools
  94. @@ -302,7 +302,8 @@ tools_mpris_proxy_SOURCES = tools/mpris-proxy.c
  95. tools_mpris_proxy_LDADD = gdbus/libgdbus-internal.la $(GLIB_LIBS) $(DBUS_LIBS)
  96. tools_gatt_service_SOURCES = tools/gatt-service.c
  97. -tools_gatt_service_LDADD = $(GLIB_LIBS) $(DBUS_LIBS) gdbus/libgdbus-internal.la
  98. +tools_gatt_service_LDADD = gdbus/libgdbus-internal.la \
  99. + src/libshared-mainloop.la $(GLIB_LIBS) $(DBUS_LIBS)
  100. profiles_iap_iapd_SOURCES = profiles/iap/main.c
  101. profiles_iap_iapd_LDADD = gdbus/libgdbus-internal.la $(GLIB_LIBS) $(DBUS_LIBS)
  102. @@ -448,11 +449,12 @@ noinst_PROGRAMS += tools/btmgmt tools/obex-client-tool tools/obex-server-tool \
  103. tools_obex_client_tool_SOURCES = $(gobex_sources) $(btio_sources) \
  104. tools/obex-client-tool.c
  105. tools_obex_client_tool_LDADD = lib/libbluetooth-internal.la \
  106. - $(GLIB_LIBS) -lreadline
  107. + src/libshared-glib.la $(GLIB_LIBS) -lreadline
  108. tools_obex_server_tool_SOURCES = $(gobex_sources) $(btio_sources) \
  109. tools/obex-server-tool.c
  110. -tools_obex_server_tool_LDADD = lib/libbluetooth-internal.la $(GLIB_LIBS)
  111. +tools_obex_server_tool_LDADD = lib/libbluetooth-internal.la \
  112. + src/libshared-glib.la $(GLIB_LIBS)
  113. tools_bluetooth_player_SOURCES = tools/bluetooth-player.c
  114. tools_bluetooth_player_LDADD = gdbus/libgdbus-internal.la \
  115. @@ -461,7 +463,8 @@ tools_bluetooth_player_LDADD = gdbus/libgdbus-internal.la \
  116. tools_obexctl_SOURCES = tools/obexctl.c
  117. tools_obexctl_LDADD = gdbus/libgdbus-internal.la src/libshared-glib.la \
  118. - $(GLIB_LIBS) $(DBUS_LIBS) -lreadline
  119. + src/libshared-glib.la $(GLIB_LIBS) $(DBUS_LIBS) \
  120. + -lreadline
  121. tools_btmgmt_SOURCES = tools/btmgmt.c src/uuid-helper.c client/display.c
  122. tools_btmgmt_LDADD = lib/libbluetooth-internal.la src/libshared-mainloop.la \
  123. diff --git a/android/a2dp.c b/android/a2dp.c
  124. index 029107cf5..ee607a32d 100644
  125. --- a/android/a2dp.c
  126. +++ b/android/a2dp.c
  127. @@ -26,6 +26,7 @@
  128. #include "lib/sdp_lib.h"
  129. #include "profiles/audio/a2dp-codecs.h"
  130. #include "src/shared/queue.h"
  131. +#include "src/shared/util.h"
  132. #include "src/log.h"
  133. #include "hal-msg.h"
  134. #include "ipc-common.h"
  135. @@ -428,7 +429,7 @@ static struct a2dp_preset *sbc_select_range(void *caps, uint8_t caps_len,
  136. p = g_new0(struct a2dp_preset, 1);
  137. p->len = conf_len;
  138. - p->data = g_memdup(conf, p->len);
  139. + p->data = util_memdup(conf, p->len);
  140. return p;
  141. }
  142. @@ -448,7 +449,7 @@ static struct a2dp_preset *aac_select_range(void *caps, uint8_t caps_len,
  143. p = g_new0(struct a2dp_preset, 1);
  144. p->len = conf_len;
  145. - p->data = g_memdup(conf, p->len);
  146. + p->data = util_memdup(conf, p->len);
  147. return p;
  148. }
  149. @@ -1036,7 +1037,7 @@ static gboolean sep_setconf_ind(struct avdtp *session,
  150. preset = g_new0(struct a2dp_preset, 1);
  151. preset->len = cap->length - sizeof(*codec);
  152. - preset->data = g_memdup(codec->data, preset->len);
  153. + preset->data = util_memdup(codec->data, preset->len);
  154. if (check_config(endpoint, preset) < 0) {
  155. preset_free(preset);
  156. @@ -1365,7 +1366,7 @@ static GSList *parse_presets(const struct audio_preset *p, uint8_t count,
  157. preset = g_new0(struct a2dp_preset, 1);
  158. preset->len = p->len;
  159. - preset->data = g_memdup(p->data, preset->len);
  160. + preset->data = util_memdup(p->data, preset->len);
  161. l = g_slist_append(l, preset);
  162. len -= preset->len;
  163. diff --git a/android/avctp.c b/android/avctp.c
  164. index 14ebbc391..37b4cec4f 100644
  165. --- a/android/avctp.c
  166. +++ b/android/avctp.c
  167. @@ -31,6 +31,7 @@
  168. #include <glib.h>
  169. #include "lib/sdp.h"
  170. +#include "src/shared/util.h"
  171. #include "src/log.h"
  172. #include "avctp.h"
  173. @@ -1177,7 +1178,7 @@ static int avctp_send_req(struct avctp *session, uint8_t code, uint8_t subunit,
  174. for (i = 0; i < iov_cnt; i++) {
  175. pdu[i].iov_len = iov[i].iov_len;
  176. - pdu[i].iov_base = g_memdup(iov[i].iov_base, iov[i].iov_len);
  177. + pdu[i].iov_base = util_memdup(iov[i].iov_base, iov[i].iov_len);
  178. }
  179. req = g_new0(struct avctp_control_req, 1);
  180. @@ -1218,7 +1219,7 @@ int avctp_send_browsing_req(struct avctp *session,
  181. for (i = 0; i < iov_cnt; i++) {
  182. pdu[i].iov_len = iov[i].iov_len;
  183. - pdu[i].iov_base = g_memdup(iov[i].iov_base, iov[i].iov_len);
  184. + pdu[i].iov_base = util_memdup(iov[i].iov_base, iov[i].iov_len);
  185. }
  186. req = g_new0(struct avctp_browsing_req, 1);
  187. diff --git a/android/avrcp-lib.c b/android/avrcp-lib.c
  188. index 2007d09d2..b342692cb 100644
  189. --- a/android/avrcp-lib.c
  190. +++ b/android/avrcp-lib.c
  191. @@ -2620,7 +2620,7 @@ static char *parse_folder_list(uint8_t *params, uint16_t params_len,
  192. return NULL;
  193. }
  194. - folders[count] = g_memdup(&params[i], len);
  195. + folders[count] = util_memdup(&params[i], len);
  196. i += len;
  197. }
  198. diff --git a/android/gatt.c b/android/gatt.c
  199. index a8a0c488b..e8ba5aabb 100644
  200. --- a/android/gatt.c
  201. +++ b/android/gatt.c
  202. @@ -1338,7 +1338,8 @@ static void discover_primary_cb(uint8_t status, GSList *services,
  203. }
  204. bt_uuid_to_uuid128(&uuid, &u128);
  205. - new_uuid = g_memdup(&u128.value.u128, sizeof(u128.value.u128));
  206. + new_uuid = util_memdup(&u128.value.u128,
  207. + sizeof(u128.value.u128));
  208. uuids = g_slist_prepend(uuids, new_uuid);
  209. }
  210. @@ -6633,7 +6634,7 @@ static uint8_t write_prep_request(const uint8_t *cmd, uint16_t cmd_len,
  211. queue_push_tail(dev->pending_requests, data);
  212. - data->value = g_memdup(value, vlen);
  213. + data->value = util_memdup(value, vlen);
  214. data->length = vlen;
  215. if (!gatt_db_attribute_write(attrib, offset, value, vlen, cmd[0],
  216. diff --git a/android/hidhost.c b/android/hidhost.c
  217. index 016382e17..b4e5c527f 100644
  218. --- a/android/hidhost.c
  219. +++ b/android/hidhost.c
  220. @@ -689,7 +689,8 @@ static void hid_sdp_search_cb(sdp_list_t *recs, int err, gpointer data)
  221. goto fail;
  222. dev->rd_size = data->unitSize;
  223. - dev->rd_data = g_memdup(data->val.str, data->unitSize);
  224. + dev->rd_data = util_memdup(data->val.str,
  225. + data->unitSize);
  226. }
  227. }
  228. diff --git a/android/tester-main.c b/android/tester-main.c
  229. index ff5ecdf83..317c1de06 100644
  230. --- a/android/tester-main.c
  231. +++ b/android/tester-main.c
  232. @@ -1253,7 +1253,8 @@ static bt_property_t *copy_properties(int num_properties,
  233. for (i = 0; i < num_properties; i++) {
  234. props[i].type = properties[i].type;
  235. props[i].len = properties[i].len;
  236. - props[i].val = g_memdup(properties[i].val, properties[i].len);
  237. + props[i].val = util_memdup(properties[i].val,
  238. + properties[i].len);
  239. }
  240. return props;
  241. @@ -1268,7 +1269,8 @@ static bt_property_t *repack_properties(int num_properties,
  242. for (i = 0; i < num_properties; i++) {
  243. props[i].type = properties[i]->type;
  244. props[i].len = properties[i]->len;
  245. - props[i].val = g_memdup(properties[i]->val, properties[i]->len);
  246. + props[i].val = util_memdup(properties[i]->val,
  247. + properties[i]->len);
  248. }
  249. return props;
  250. @@ -1281,7 +1283,7 @@ static bt_property_t *create_property(bt_property_type_t type, void *val,
  251. prop->type = type;
  252. prop->len = len;
  253. - prop->val = g_memdup(val, len);
  254. + prop->val = util_memdup(val, len);
  255. return prop;
  256. }
  257. @@ -1615,7 +1617,7 @@ static void gattc_search_result_cb(int conn_id, btgatt_srvc_id_t *srvc_id)
  258. step->callback = CB_GATTC_SEARCH_RESULT;
  259. step->callback_result.conn_id = conn_id;
  260. - step->callback_result.service = g_memdup(srvc_id, sizeof(*srvc_id));
  261. + step->callback_result.service = util_memdup(srvc_id, sizeof(*srvc_id));
  262. schedule_callback_verification(step);
  263. }
  264. @@ -1639,8 +1641,8 @@ static void gattc_get_characteristic_cb(int conn_id, int status,
  265. step->callback = CB_GATTC_GET_CHARACTERISTIC;
  266. step->callback_result.status = status;
  267. step->callback_result.conn_id = conn_id;
  268. - step->callback_result.service = g_memdup(srvc_id, sizeof(*srvc_id));
  269. - step->callback_result.characteristic = g_memdup(char_id,
  270. + step->callback_result.service = util_memdup(srvc_id, sizeof(*srvc_id));
  271. + step->callback_result.characteristic = util_memdup(char_id,
  272. sizeof(*char_id));
  273. step->callback_result.char_prop = char_prop;
  274. @@ -1656,10 +1658,10 @@ static void gattc_get_descriptor_cb(int conn_id, int status,
  275. step->callback = CB_GATTC_GET_DESCRIPTOR;
  276. step->callback_result.status = status;
  277. step->callback_result.conn_id = conn_id;
  278. - step->callback_result.service = g_memdup(srvc_id, sizeof(*srvc_id));
  279. - step->callback_result.characteristic = g_memdup(char_id,
  280. + step->callback_result.service = util_memdup(srvc_id, sizeof(*srvc_id));
  281. + step->callback_result.characteristic = util_memdup(char_id,
  282. sizeof(*char_id));
  283. - step->callback_result.descriptor = g_memdup(descr_id,
  284. + step->callback_result.descriptor = util_memdup(descr_id,
  285. sizeof(*descr_id));
  286. schedule_callback_verification(step);
  287. @@ -1673,8 +1675,8 @@ static void gattc_get_included_service_cb(int conn_id, int status,
  288. step->callback = CB_GATTC_GET_INCLUDED_SERVICE;
  289. step->callback_result.status = status;
  290. step->callback_result.conn_id = conn_id;
  291. - step->callback_result.service = g_memdup(srvc_id, sizeof(*srvc_id));
  292. - step->callback_result.included = g_memdup(incl_srvc_id,
  293. + step->callback_result.service = util_memdup(srvc_id, sizeof(*srvc_id));
  294. + step->callback_result.included = util_memdup(incl_srvc_id,
  295. sizeof(*srvc_id));
  296. schedule_callback_verification(step);
  297. @@ -1688,7 +1690,8 @@ static void gattc_read_characteristic_cb(int conn_id, int status,
  298. step->callback = CB_GATTC_READ_CHARACTERISTIC;
  299. step->callback_result.status = status;
  300. step->callback_result.conn_id = conn_id;
  301. - step->callback_result.read_params = g_memdup(p_data, sizeof(*p_data));
  302. + step->callback_result.read_params = util_memdup(p_data,
  303. + sizeof(*p_data));
  304. schedule_callback_verification(step);
  305. }
  306. @@ -1701,7 +1704,8 @@ static void gattc_read_descriptor_cb(int conn_id, int status,
  307. step->callback = CB_GATTC_READ_DESCRIPTOR;
  308. step->callback_result.status = status;
  309. step->callback_result.conn_id = conn_id;
  310. - step->callback_result.read_params = g_memdup(p_data, sizeof(*p_data));
  311. + step->callback_result.read_params = util_memdup(p_data,
  312. + sizeof(*p_data));
  313. schedule_callback_verification(step);
  314. }
  315. @@ -1714,7 +1718,8 @@ static void gattc_write_characteristic_cb(int conn_id, int status,
  316. step->callback = CB_GATTC_WRITE_CHARACTERISTIC;
  317. step->callback_result.status = status;
  318. step->callback_result.conn_id = conn_id;
  319. - step->callback_result.write_params = g_memdup(p_data, sizeof(*p_data));
  320. + step->callback_result.write_params = util_memdup(p_data,
  321. + sizeof(*p_data));
  322. schedule_callback_verification(step);
  323. }
  324. @@ -1727,7 +1732,8 @@ static void gattc_write_descriptor_cb(int conn_id, int status,
  325. step->callback = CB_GATTC_WRITE_DESCRIPTOR;
  326. step->callback_result.status = status;
  327. step->callback_result.conn_id = conn_id;
  328. - step->callback_result.write_params = g_memdup(p_data, sizeof(*p_data));
  329. + step->callback_result.write_params = util_memdup(p_data,
  330. + sizeof(*p_data));
  331. schedule_callback_verification(step);
  332. }
  333. @@ -1742,8 +1748,8 @@ static void gattc_register_for_notification_cb(int conn_id, int registered,
  334. step->callback = CB_GATTC_REGISTER_FOR_NOTIFICATION;
  335. step->callback_result.status = status;
  336. step->callback_result.conn_id = conn_id;
  337. - step->callback_result.service = g_memdup(srvc_id, sizeof(*srvc_id));
  338. - step->callback_result.characteristic = g_memdup(char_id,
  339. + step->callback_result.service = util_memdup(srvc_id, sizeof(*srvc_id));
  340. + step->callback_result.characteristic = util_memdup(char_id,
  341. sizeof(*char_id));
  342. step->callback_result.notification_registered = registered;
  343. @@ -1756,7 +1762,8 @@ static void gattc_notif_cb(int conn_id, btgatt_notify_params_t *p_data)
  344. step->callback = CB_GATTC_NOTIFY;
  345. step->callback_result.conn_id = conn_id;
  346. - step->callback_result.notify_params = g_memdup(p_data, sizeof(*p_data));
  347. + step->callback_result.notify_params = util_memdup(p_data,
  348. + sizeof(*p_data));
  349. schedule_callback_verification(step);
  350. }
  351. @@ -1827,8 +1834,8 @@ static void gatts_service_added_cb(int status, int server_if,
  352. step->callback_result.status = status;
  353. step->callback_result.gatt_app_id = server_if;
  354. - step->callback_result.service = g_memdup(srvc_id, sizeof(*srvc_id));
  355. - step->callback_result.srvc_handle = g_memdup(&srvc_handle,
  356. + step->callback_result.service = util_memdup(srvc_id, sizeof(*srvc_id));
  357. + step->callback_result.srvc_handle = util_memdup(&srvc_handle,
  358. sizeof(srvc_handle));
  359. schedule_callback_verification(step);
  360. @@ -1844,9 +1851,9 @@ static void gatts_included_service_added_cb(int status, int server_if,
  361. step->callback_result.status = status;
  362. step->callback_result.gatt_app_id = server_if;
  363. - step->callback_result.srvc_handle = g_memdup(&srvc_handle,
  364. + step->callback_result.srvc_handle = util_memdup(&srvc_handle,
  365. sizeof(srvc_handle));
  366. - step->callback_result.inc_srvc_handle = g_memdup(&inc_srvc_handle,
  367. + step->callback_result.inc_srvc_handle = util_memdup(&inc_srvc_handle,
  368. sizeof(inc_srvc_handle));
  369. schedule_callback_verification(step);
  370. @@ -1863,10 +1870,10 @@ static void gatts_characteristic_added_cb(int status, int server_if,
  371. step->callback_result.status = status;
  372. step->callback_result.gatt_app_id = server_if;
  373. - step->callback_result.srvc_handle = g_memdup(&srvc_handle,
  374. + step->callback_result.srvc_handle = util_memdup(&srvc_handle,
  375. sizeof(srvc_handle));
  376. - step->callback_result.uuid = g_memdup(uuid, sizeof(*uuid));
  377. - step->callback_result.char_handle = g_memdup(&char_handle,
  378. + step->callback_result.uuid = util_memdup(uuid, sizeof(*uuid));
  379. + step->callback_result.char_handle = util_memdup(&char_handle,
  380. sizeof(char_handle));
  381. schedule_callback_verification(step);
  382. @@ -1883,10 +1890,10 @@ static void gatts_descriptor_added_cb(int status, int server_if,
  383. step->callback_result.status = status;
  384. step->callback_result.gatt_app_id = server_if;
  385. - step->callback_result.srvc_handle = g_memdup(&srvc_handle,
  386. + step->callback_result.srvc_handle = util_memdup(&srvc_handle,
  387. sizeof(srvc_handle));
  388. - step->callback_result.uuid = g_memdup(uuid, sizeof(*uuid));
  389. - step->callback_result.desc_handle = g_memdup(&desc_handle,
  390. + step->callback_result.uuid = util_memdup(uuid, sizeof(*uuid));
  391. + step->callback_result.desc_handle = util_memdup(&desc_handle,
  392. sizeof(desc_handle));
  393. schedule_callback_verification(step);
  394. @@ -1900,7 +1907,7 @@ static void gatts_service_started_cb(int status, int server_if, int srvc_handle)
  395. step->callback_result.status = status;
  396. step->callback_result.gatt_app_id = server_if;
  397. - step->callback_result.srvc_handle = g_memdup(&srvc_handle,
  398. + step->callback_result.srvc_handle = util_memdup(&srvc_handle,
  399. sizeof(srvc_handle));
  400. schedule_callback_verification(step);
  401. @@ -1914,7 +1921,7 @@ static void gatts_service_stopped_cb(int status, int server_if, int srvc_handle)
  402. step->callback_result.status = status;
  403. step->callback_result.gatt_app_id = server_if;
  404. - step->callback_result.srvc_handle = g_memdup(&srvc_handle,
  405. + step->callback_result.srvc_handle = util_memdup(&srvc_handle,
  406. sizeof(srvc_handle));
  407. schedule_callback_verification(step);
  408. @@ -1928,7 +1935,7 @@ static void gatts_service_deleted_cb(int status, int server_if, int srvc_handle)
  409. step->callback_result.status = status;
  410. step->callback_result.gatt_app_id = server_if;
  411. - step->callback_result.srvc_handle = g_memdup(&srvc_handle,
  412. + step->callback_result.srvc_handle = util_memdup(&srvc_handle,
  413. sizeof(srvc_handle));
  414. schedule_callback_verification(step);
  415. @@ -1945,7 +1952,7 @@ static void gatts_request_read_cb(int conn_id, int trans_id, bt_bdaddr_t *bda,
  416. step->callback_result.conn_id = conn_id;
  417. step->callback_result.trans_id = trans_id;
  418. - step->callback_result.attr_handle = g_memdup(&attr_handle,
  419. + step->callback_result.attr_handle = util_memdup(&attr_handle,
  420. sizeof(attr_handle));
  421. step->callback_result.offset = offset;
  422. step->callback_result.is_long = is_long;
  423. @@ -1974,13 +1981,13 @@ static void gatts_request_write_cb(int conn_id, int trans_id, bt_bdaddr_t *bda,
  424. step->callback_result.conn_id = conn_id;
  425. step->callback_result.trans_id = trans_id;
  426. - step->callback_result.attr_handle = g_memdup(&attr_handle,
  427. + step->callback_result.attr_handle = util_memdup(&attr_handle,
  428. sizeof(attr_handle));
  429. step->callback_result.offset = offset;
  430. step->callback_result.length = length;
  431. step->callback_result.need_rsp = need_rsp;
  432. step->callback_result.is_prep = is_prep;
  433. - step->callback_result.value = g_memdup(&value, length);
  434. + step->callback_result.value = util_memdup(&value, length);
  435. /* Utilize property verification mechanism for bdaddr */
  436. props[0] = create_property(BT_PROPERTY_BDADDR, bda, sizeof(*bda));
  437. @@ -2169,7 +2176,7 @@ static btmce_mas_instance_t *copy_mas_instances(int num_instances,
  438. inst[i].id = instances[i].id;
  439. inst[i].scn = instances[i].scn;
  440. inst[i].msg_types = instances[i].msg_types;
  441. - inst[i].p_name = g_memdup(instances[i].p_name,
  442. + inst[i].p_name = util_memdup(instances[i].p_name,
  443. strlen(instances[i].p_name));
  444. }
  445. diff --git a/attrib/gatt.c b/attrib/gatt.c
  446. index 46b2ca381..b496dd1eb 100644
  447. --- a/attrib/gatt.c
  448. +++ b/attrib/gatt.c
  449. @@ -135,7 +135,7 @@ static void discover_char_unref(void *data)
  450. g_slist_free_full(dc->characteristics, g_free);
  451. g_attrib_unref(dc->attrib);
  452. - g_free(dc->uuid);
  453. + free(dc->uuid);
  454. g_free(dc);
  455. }
  456. @@ -157,7 +157,7 @@ static void discover_desc_unref(void *data)
  457. g_slist_free_full(dd->descriptors, g_free);
  458. g_attrib_unref(dd->attrib);
  459. - g_free(dd->uuid);
  460. + free(dd->uuid);
  461. g_free(dd);
  462. }
  463. @@ -696,7 +696,7 @@ guint gatt_discover_char(GAttrib *attrib, uint16_t start, uint16_t end,
  464. dc->user_data = user_data;
  465. dc->end = end;
  466. dc->start = start;
  467. - dc->uuid = g_memdup(uuid, sizeof(bt_uuid_t));
  468. + dc->uuid = util_memdup(uuid, sizeof(bt_uuid_t));
  469. dc->id = g_attrib_send(attrib, 0, buf, plen, char_discovered_cb,
  470. discover_char_ref(dc), discover_char_unref);
  471. @@ -905,7 +905,7 @@ static void prepare_write_cb(guint8 status, const guint8 *rpdu, guint16 rlen,
  472. if (long_write->offset == long_write->vlen) {
  473. execute_write(long_write->attrib, ATT_WRITE_ALL_PREP_WRITES,
  474. long_write->func, long_write->user_data);
  475. - g_free(long_write->value);
  476. + free(long_write->value);
  477. g_free(long_write);
  478. return;
  479. @@ -964,7 +964,7 @@ guint gatt_write_char(GAttrib *attrib, uint16_t handle, const uint8_t *value,
  480. long_write->func = func;
  481. long_write->user_data = user_data;
  482. long_write->handle = handle;
  483. - long_write->value = g_memdup(value, vlen);
  484. + long_write->value = util_memdup(value, vlen);
  485. long_write->vlen = vlen;
  486. return prepare_write(long_write);
  487. @@ -1130,7 +1130,7 @@ guint gatt_discover_desc(GAttrib *attrib, uint16_t start, uint16_t end,
  488. dd->user_data = user_data;
  489. dd->start = start;
  490. dd->end = end;
  491. - dd->uuid = g_memdup(uuid, sizeof(bt_uuid_t));
  492. + dd->uuid = util_memdup(uuid, sizeof(bt_uuid_t));
  493. dd->id = g_attrib_send(attrib, 0, buf, plen, desc_discovered_cb,
  494. discover_desc_ref(dd), discover_desc_unref);
  495. diff --git a/client/gatt.c b/client/gatt.c
  496. index 11f70dc4f..13872c794 100644
  497. --- a/client/gatt.c
  498. +++ b/client/gatt.c
  499. @@ -811,7 +811,7 @@ static uint8_t *str2bytearray(char *arg, size_t *val_len)
  500. *val_len = i;
  501. - return g_memdup(value, i);
  502. + return util_memdup(value, i);
  503. }
  504. void gatt_write_attribute(GDBusProxy *proxy, int argc, char *argv[])
  505. diff --git a/gobex/gobex-header.c b/gobex/gobex-header.c
  506. index 011d33d1a..002ba8861 100644
  507. --- a/gobex/gobex-header.c
  508. +++ b/gobex/gobex-header.c
  509. @@ -15,6 +15,7 @@
  510. #include "gobex-header.h"
  511. #include "gobex-debug.h"
  512. +#include "src/shared/util.h"
  513. /* Header types */
  514. #define G_OBEX_HDR_ENC_UNICODE (0 << 6)
  515. @@ -222,7 +223,7 @@ GObexHeader *g_obex_header_decode(const void *data, gsize len,
  516. switch (data_policy) {
  517. case G_OBEX_DATA_COPY:
  518. - header->v.data = g_memdup(ptr, header->vlen);
  519. + header->v.data = util_memdup(ptr, header->vlen);
  520. break;
  521. case G_OBEX_DATA_REF:
  522. header->extdata = TRUE;
  523. @@ -282,7 +283,7 @@ void g_obex_header_free(GObexHeader *header)
  524. break;
  525. case G_OBEX_HDR_ENC_BYTES:
  526. if (!header->extdata)
  527. - g_free(header->v.data);
  528. + free(header->v.data);
  529. break;
  530. case G_OBEX_HDR_ENC_UINT8:
  531. case G_OBEX_HDR_ENC_UINT32:
  532. @@ -410,7 +411,7 @@ GObexHeader *g_obex_header_new_bytes(guint8 id, const void *data, gsize len)
  533. header->id = id;
  534. header->vlen = len;
  535. header->hlen = len + 3;
  536. - header->v.data = g_memdup(data, len);
  537. + header->v.data = util_memdup(data, len);
  538. return header;
  539. }
  540. diff --git a/gobex/gobex-packet.c b/gobex/gobex-packet.c
  541. index 11937a5a5..8ae78b0f6 100644
  542. --- a/gobex/gobex-packet.c
  543. +++ b/gobex/gobex-packet.c
  544. @@ -17,6 +17,7 @@
  545. #include "gobex-defs.h"
  546. #include "gobex-packet.h"
  547. #include "gobex-debug.h"
  548. +#include "src/shared/util.h"
  549. #define FINAL_BIT 0x80
  550. @@ -201,7 +202,7 @@ gboolean g_obex_packet_set_data(GObexPacket *pkt, const void *data, gsize len,
  551. switch (data_policy) {
  552. case G_OBEX_DATA_COPY:
  553. - pkt->data.buf = g_memdup(data, len);
  554. + pkt->data.buf = util_memdup(data, len);
  555. break;
  556. case G_OBEX_DATA_REF:
  557. pkt->data.buf_ref = data;
  558. @@ -259,7 +260,7 @@ void g_obex_packet_free(GObexPacket *pkt)
  559. switch (pkt->data_policy) {
  560. case G_OBEX_DATA_INHERIT:
  561. case G_OBEX_DATA_COPY:
  562. - g_free(pkt->data.buf);
  563. + free(pkt->data.buf);
  564. break;
  565. case G_OBEX_DATA_REF:
  566. break;
  567. diff --git a/obexd/src/obex.c b/obexd/src/obex.c
  568. index 9f992ec18..3a68fd66c 100644
  569. --- a/obexd/src/obex.c
  570. +++ b/obexd/src/obex.c
  571. @@ -40,6 +40,7 @@
  572. #include "mimetype.h"
  573. #include "service.h"
  574. #include "transport.h"
  575. +#include "src/shared/util.h"
  576. typedef struct {
  577. uint8_t version;
  578. @@ -145,7 +146,7 @@ static void os_reset_session(struct obex_session *os)
  579. os->path = NULL;
  580. }
  581. if (os->apparam) {
  582. - g_free(os->apparam);
  583. + free(os->apparam);
  584. os->apparam = NULL;
  585. os->apparam_len = 0;
  586. }
  587. @@ -594,7 +595,7 @@ static void parse_apparam(struct obex_session *os, GObexPacket *req)
  588. if (!g_obex_header_get_bytes(hdr, &apparam, &len))
  589. return;
  590. - os->apparam = g_memdup(apparam, len);
  591. + os->apparam = util_memdup(apparam, len);
  592. os->apparam_len = len;
  593. DBG("APPARAM");
  594. }
  595. diff --git a/plugins/neard.c b/plugins/neard.c
  596. index e07b51106..a75527148 100644
  597. --- a/plugins/neard.c
  598. +++ b/plugins/neard.c
  599. @@ -30,6 +30,7 @@
  600. #include "src/eir.h"
  601. #include "src/agent.h"
  602. #include "src/btd.h"
  603. +#include "src/shared/util.h"
  604. #define NEARD_NAME "org.neard"
  605. #define NEARD_PATH "/"
  606. @@ -71,7 +72,7 @@ static void free_oob_params(struct oob_params *params)
  607. g_free(params->name);
  608. g_free(params->hash);
  609. g_free(params->randomizer);
  610. - g_free(params->pin);
  611. + free(params->pin);
  612. }
  613. static DBusMessage *error_reply(DBusMessage *msg, int error)
  614. @@ -407,10 +408,10 @@ static int process_nokia_long (void *data, size_t size, uint8_t marker,
  615. remote->name = g_strndup((char *)n->name, n->name_len);
  616. if (marker == 0x01) {
  617. - remote->pin = g_memdup(n->authentication, 4);
  618. + remote->pin = util_memdup(n->authentication, 4);
  619. remote->pin_len = 4;
  620. } else if (marker == 0x02) {
  621. - remote->pin = g_memdup(n->authentication, 16);
  622. + remote->pin = util_memdup(n->authentication, 16);
  623. remote->pin_len = 16;
  624. }
  625. @@ -439,7 +440,7 @@ static int process_nokia_short (void *data, size_t size,
  626. if (n->name_len > 0)
  627. remote->name = g_strndup((char *)n->name, n->name_len);
  628. - remote->pin = g_memdup(n->authentication, 4);
  629. + remote->pin = util_memdup(n->authentication, 4);
  630. remote->pin_len = 4;
  631. return 0;
  632. diff --git a/plugins/policy.c b/plugins/policy.c
  633. index 051db82e1..48f5db7d3 100644
  634. --- a/plugins/policy.c
  635. +++ b/plugins/policy.c
  636. @@ -32,6 +32,7 @@
  637. #include "src/profile.h"
  638. #include "src/btd.h"
  639. #include "src/shared/timeout.h"
  640. +#include "src/shared/util.h"
  641. #define CONTROL_CONNECT_TIMEOUT 2
  642. #define SOURCE_RETRY_TIMEOUT 2
  643. @@ -855,7 +856,7 @@ static int policy_init(void)
  644. reconnect_attempts = default_attempts;
  645. reconnect_intervals_len = sizeof(default_intervals) /
  646. sizeof(*reconnect_intervals);
  647. - reconnect_intervals = g_memdup(default_intervals,
  648. + reconnect_intervals = util_memdup(default_intervals,
  649. sizeof(default_intervals));
  650. goto done;
  651. }
  652. @@ -886,7 +887,7 @@ static int policy_init(void)
  653. g_clear_error(&gerr);
  654. reconnect_intervals_len = sizeof(default_intervals) /
  655. sizeof(*reconnect_intervals);
  656. - reconnect_intervals = g_memdup(default_intervals,
  657. + reconnect_intervals = util_memdup(default_intervals,
  658. sizeof(default_intervals));
  659. }
  660. @@ -919,7 +920,7 @@ static void policy_exit(void)
  661. if (reconnect_uuids)
  662. g_strfreev(reconnect_uuids);
  663. - g_free(reconnect_intervals);
  664. + free(reconnect_intervals);
  665. g_slist_free_full(reconnects, reconnect_destroy);
  666. diff --git a/profiles/audio/avctp.c b/profiles/audio/avctp.c
  667. index 64d1a8504..6f64f162b 100644
  668. --- a/profiles/audio/avctp.c
  669. +++ b/profiles/audio/avctp.c
  670. @@ -40,6 +40,7 @@
  671. #include "src/log.h"
  672. #include "src/error.h"
  673. #include "src/shared/timeout.h"
  674. +#include "src/shared/util.h"
  675. #include "avctp.h"
  676. #include "avrcp.h"
  677. @@ -760,7 +761,7 @@ static void control_req_destroy(void *data)
  678. NULL, 0, req->user_data);
  679. done:
  680. - g_free(req->operands);
  681. + free(req->operands);
  682. g_free(req);
  683. }
  684. @@ -776,7 +777,7 @@ static void browsing_req_destroy(void *data)
  685. req->func(session, NULL, 0, req->user_data);
  686. done:
  687. - g_free(req->operands);
  688. + free(req->operands);
  689. g_free(req);
  690. }
  691. @@ -1727,7 +1728,7 @@ static int avctp_send_req(struct avctp *session, uint8_t code,
  692. req->subunit = subunit;
  693. req->op = opcode;
  694. req->func = func;
  695. - req->operands = g_memdup(operands, operand_count);
  696. + req->operands = util_memdup(operands, operand_count);
  697. req->operand_count = operand_count;
  698. req->user_data = user_data;
  699. @@ -1765,7 +1766,7 @@ int avctp_send_browsing_req(struct avctp *session,
  700. req = g_new0(struct avctp_browsing_req, 1);
  701. req->func = func;
  702. - req->operands = g_memdup(operands, operand_count);
  703. + req->operands = util_memdup(operands, operand_count);
  704. req->operand_count = operand_count;
  705. req->user_data = user_data;
  706. diff --git a/profiles/audio/avrcp.c b/profiles/audio/avrcp.c
  707. index 7c280203c..d4e19ffc0 100644
  708. --- a/profiles/audio/avrcp.c
  709. +++ b/profiles/audio/avrcp.c
  710. @@ -1298,7 +1298,7 @@ static uint8_t avrcp_handle_get_current_player_value(struct avrcp *session,
  711. * Save a copy of requested settings because we can override them
  712. * while responding
  713. */
  714. - settings = g_memdup(&pdu->params[1], pdu->params[0]);
  715. + settings = util_memdup(&pdu->params[1], pdu->params[0]);
  716. len = 0;
  717. /*
  718. @@ -1323,7 +1323,7 @@ static uint8_t avrcp_handle_get_current_player_value(struct avrcp *session,
  719. pdu->params[++len] = val;
  720. }
  721. - g_free(settings);
  722. + free(settings);
  723. if (len) {
  724. pdu->params[0] = len / 2;
  725. @@ -2801,7 +2801,7 @@ static gboolean avrcp_set_browsed_player_rsp(struct avctp *conn,
  726. break;
  727. }
  728. - folders[count] = g_memdup(&pdu->params[i], len);
  729. + folders[count] = util_memdup(&pdu->params[i], len);
  730. i += len;
  731. }
  732. @@ -2888,7 +2888,7 @@ static void avrcp_player_parse_features(struct avrcp_player *player,
  733. {
  734. struct media_player *mp = player->user_data;
  735. - player->features = g_memdup(features, 16);
  736. + player->features = util_memdup(features, 16);
  737. if (features[7] & 0x08) {
  738. media_player_set_browsable(mp, true);
  739. @@ -3622,7 +3622,7 @@ static void player_destroy(gpointer data)
  740. g_slist_free(player->sessions);
  741. g_free(player->path);
  742. g_free(player->change_path);
  743. - g_free(player->features);
  744. + free(player->features);
  745. g_free(player);
  746. }
  747. diff --git a/profiles/battery/bas.c b/profiles/battery/bas.c
  748. index 3c6173b61..16ff22e19 100644
  749. --- a/profiles/battery/bas.c
  750. +++ b/profiles/battery/bas.c
  751. @@ -62,7 +62,7 @@ static void bas_free(struct bt_bas *bas)
  752. {
  753. bt_bas_detach(bas);
  754. - g_free(bas->primary);
  755. + free(bas->primary);
  756. queue_destroy(bas->gatt_op, (void *) destroy_gatt_req);
  757. free(bas);
  758. }
  759. @@ -75,7 +75,7 @@ struct bt_bas *bt_bas_new(void *primary)
  760. bas->gatt_op = queue_new();
  761. if (primary)
  762. - bas->primary = g_memdup(primary, sizeof(*bas->primary));
  763. + bas->primary = util_memdup(primary, sizeof(*bas->primary));
  764. return bt_bas_ref(bas);
  765. }
  766. diff --git a/profiles/battery/battery.c b/profiles/battery/battery.c
  767. index 176d127f6..02d024d92 100644
  768. --- a/profiles/battery/battery.c
  769. +++ b/profiles/battery/battery.c
  770. @@ -66,7 +66,7 @@ static void batt_free(struct batt *batt)
  771. gatt_db_unref(batt->db);
  772. bt_gatt_client_unref(batt->client);
  773. btd_device_unref(batt->device);
  774. - g_free (batt->initial_value);
  775. + free(batt->initial_value);
  776. if (batt->battery)
  777. btd_battery_unregister(batt->battery);
  778. g_free(batt);
  779. @@ -159,7 +159,7 @@ static void read_initial_battery_level_cb(bool success,
  780. if (!length)
  781. return;
  782. - batt->initial_value = g_memdup(value, length);
  783. + batt->initial_value = util_memdup(value, length);
  784. /* request notify */
  785. batt->batt_level_cb_id =
  786. diff --git a/profiles/deviceinfo/dis.c b/profiles/deviceinfo/dis.c
  787. index 87fa63306..f660179ed 100644
  788. --- a/profiles/deviceinfo/dis.c
  789. +++ b/profiles/deviceinfo/dis.c
  790. @@ -72,7 +72,7 @@ static void dis_free(struct bt_dis *dis)
  791. {
  792. bt_dis_detach(dis);
  793. - g_free(dis->primary);
  794. + free(dis->primary);
  795. queue_destroy(dis->gatt_op, (void *) destroy_gatt_req);
  796. g_free(dis);
  797. }
  798. @@ -143,7 +143,7 @@ struct bt_dis *bt_dis_new_primary(void *primary)
  799. dis->gatt_op = queue_new();
  800. if (primary)
  801. - dis->primary = g_memdup(primary, sizeof(*dis->primary));
  802. + dis->primary = util_memdup(primary, sizeof(*dis->primary));
  803. return bt_dis_ref(dis);
  804. }
  805. diff --git a/profiles/input/hog-lib.c b/profiles/input/hog-lib.c
  806. index 3bbe42370..d37caa1f1 100644
  807. --- a/profiles/input/hog-lib.c
  808. +++ b/profiles/input/hog-lib.c
  809. @@ -527,9 +527,9 @@ static void report_read_cb(guint8 status, const guint8 *pdu, guint16 len,
  810. }
  811. if (report->value)
  812. - g_free(report->value);
  813. + free(report->value);
  814. - report->value = g_memdup(pdu, len);
  815. + report->value = util_memdup(pdu, len);
  816. report->len = len;
  817. }
  818. @@ -1217,7 +1217,7 @@ static void report_free(void *data)
  819. {
  820. struct report *report = data;
  821. - g_free(report->value);
  822. + free(report->value);
  823. g_free(report);
  824. }
  825. @@ -1241,7 +1241,7 @@ static void hog_free(void *data)
  826. bt_uhid_unref(hog->uhid);
  827. g_slist_free_full(hog->reports, report_free);
  828. g_free(hog->name);
  829. - g_free(hog->primary);
  830. + free(hog->primary);
  831. queue_destroy(hog->gatt_op, (void *) destroy_gatt_req);
  832. if (hog->gatt_db)
  833. gatt_db_unref(hog->gatt_db);
  834. @@ -1609,7 +1609,7 @@ static void hog_attach_hog(struct bt_hog *hog, struct gatt_primary *primary)
  835. struct bt_hog *instance;
  836. if (!hog->primary) {
  837. - hog->primary = g_memdup(primary, sizeof(*primary));
  838. + hog->primary = util_memdup(primary, sizeof(*primary));
  839. discover_char(hog, hog->attrib, primary->range.start,
  840. primary->range.end, NULL,
  841. char_discovered_cb, hog);
  842. @@ -1623,7 +1623,7 @@ static void hog_attach_hog(struct bt_hog *hog, struct gatt_primary *primary)
  843. if (!instance)
  844. return;
  845. - instance->primary = g_memdup(primary, sizeof(*primary));
  846. + instance->primary = util_memdup(primary, sizeof(*primary));
  847. find_included(instance, hog->attrib, primary->range.start,
  848. primary->range.end, find_included_cb, instance);
  849. diff --git a/profiles/scanparam/scpp.c b/profiles/scanparam/scpp.c
  850. index da38a6aaa..4be8b26cc 100644
  851. --- a/profiles/scanparam/scpp.c
  852. +++ b/profiles/scanparam/scpp.c
  853. @@ -91,7 +91,7 @@ static void scpp_free(struct bt_scpp *scan)
  854. {
  855. bt_scpp_detach(scan);
  856. - g_free(scan->primary);
  857. + free(scan->primary);
  858. queue_destroy(scan->gatt_op, NULL); /* cleared in bt_scpp_detach */
  859. g_free(scan);
  860. }
  861. @@ -110,7 +110,7 @@ struct bt_scpp *bt_scpp_new(void *primary)
  862. scan->gatt_op = queue_new();
  863. if (primary)
  864. - scan->primary = g_memdup(primary, sizeof(*scan->primary));
  865. + scan->primary = util_memdup(primary, sizeof(*scan->primary));
  866. return bt_scpp_ref(scan);
  867. }
  868. diff --git a/src/eir.c b/src/eir.c
  869. index 0f5d14fcd..2f9ee036f 100644
  870. --- a/src/eir.c
  871. +++ b/src/eir.c
  872. @@ -53,9 +53,9 @@ void eir_data_free(struct eir_data *eir)
  873. eir->services = NULL;
  874. g_free(eir->name);
  875. eir->name = NULL;
  876. - g_free(eir->hash);
  877. + free(eir->hash);
  878. eir->hash = NULL;
  879. - g_free(eir->randomizer);
  880. + free(eir->randomizer);
  881. eir->randomizer = NULL;
  882. g_slist_free_full(eir->msd_list, g_free);
  883. eir->msd_list = NULL;
  884. @@ -323,13 +323,13 @@ void eir_parse(struct eir_data *eir, const uint8_t *eir_data, uint8_t eir_len)
  885. case EIR_SSP_HASH:
  886. if (data_len < 16)
  887. break;
  888. - eir->hash = g_memdup(data, 16);
  889. + eir->hash = util_memdup(data, 16);
  890. break;
  891. case EIR_SSP_RANDOMIZER:
  892. if (data_len < 16)
  893. break;
  894. - eir->randomizer = g_memdup(data, 16);
  895. + eir->randomizer = util_memdup(data, 16);
  896. break;
  897. case EIR_DEVICE_ID:
  898. diff --git a/tools/gatt-service.c b/tools/gatt-service.c
  899. index 631c4f249..ed6b06f1e 100644
  900. --- a/tools/gatt-service.c
  901. +++ b/tools/gatt-service.c
  902. @@ -26,6 +26,7 @@
  903. #include "gdbus/gdbus.h"
  904. #include "src/error.h"
  905. +#include "src/shared/util.h"
  906. #define GATT_MGR_IFACE "org.bluez.GattManager1"
  907. #define GATT_SERVICE_IFACE "org.bluez.GattService1"
  908. @@ -126,8 +127,8 @@ static gboolean desc_get_value(const GDBusPropertyTable *property,
  909. static void desc_write(struct descriptor *desc, const uint8_t *value, int len)
  910. {
  911. - g_free(desc->value);
  912. - desc->value = g_memdup(value, len);
  913. + free(desc->value);
  914. + desc->value = util_memdup(value, len);
  915. desc->vlen = len;
  916. g_dbus_emit_property_changed(connection, desc->path,
  917. @@ -264,8 +265,8 @@ static gboolean chr_get_props(const GDBusPropertyTable *property,
  918. static void chr_write(struct characteristic *chr, const uint8_t *value, int len)
  919. {
  920. - g_free(chr->value);
  921. - chr->value = g_memdup(value, len);
  922. + free(chr->value);
  923. + chr->value = util_memdup(value, len);
  924. chr->vlen = len;
  925. g_dbus_emit_property_changed(connection, chr->path, GATT_CHR_IFACE,
  926. @@ -388,7 +389,7 @@ static void chr_iface_destroy(gpointer user_data)
  927. g_free(chr->uuid);
  928. g_free(chr->service);
  929. - g_free(chr->value);
  930. + free(chr->value);
  931. g_free(chr->path);
  932. g_free(chr);
  933. }
  934. @@ -398,7 +399,7 @@ static void desc_iface_destroy(gpointer user_data)
  935. struct descriptor *desc = user_data;
  936. g_free(desc->uuid);
  937. - g_free(desc->value);
  938. + free(desc->value);
  939. g_free(desc->path);
  940. g_free(desc);
  941. }
  942. @@ -592,7 +593,7 @@ static gboolean register_characteristic(const char *chr_uuid,
  943. chr = g_new0(struct characteristic, 1);
  944. chr->uuid = g_strdup(chr_uuid);
  945. - chr->value = g_memdup(value, vlen);
  946. + chr->value = util_memdup(value, vlen);
  947. chr->vlen = vlen;
  948. chr->props = props;
  949. chr->service = g_strdup(service_path);
  950. diff --git a/tools/mesh-gatt/gatt.c b/tools/mesh-gatt/gatt.c
  951. index c8a8123fb..ab9743cd1 100644
  952. --- a/tools/mesh-gatt/gatt.c
  953. +++ b/tools/mesh-gatt/gatt.c
  954. @@ -24,6 +24,7 @@
  955. #include "src/shared/io.h"
  956. #include "src/shared/shell.h"
  957. +#include "src/shared/util.h"
  958. #include "gdbus/gdbus.h"
  959. #include "lib/bluetooth.h"
  960. #include "lib/uuid.h"
  961. @@ -86,7 +87,7 @@ static void write_data_free(void *user_data)
  962. {
  963. struct write_data *data = user_data;
  964. - g_free(data->gatt_data);
  965. + free(data->gatt_data);
  966. free(data);
  967. }
  968. @@ -338,7 +339,7 @@ bool mesh_gatt_write(GDBusProxy *proxy, uint8_t *buf, uint16_t len,
  969. /* TODO: should keep in queue in case we need to cancel write? */
  970. data->gatt_len = len;
  971. - data->gatt_data = g_memdup(buf, len);
  972. + data->gatt_data = util_memdup(buf, len);
  973. data->gatt_data[0] &= GATT_TYPE_MASK;
  974. data->iov.iov_base = data->gatt_data;
  975. data->iov.iov_len = len;
  976. diff --git a/unit/test-avctp.c b/unit/test-avctp.c
  977. index fa7db59c8..25fd3abc2 100644
  978. --- a/unit/test-avctp.c
  979. +++ b/unit/test-avctp.c
  980. @@ -53,7 +53,7 @@ struct context {
  981. #define raw_pdu(args...) \
  982. { \
  983. .valid = true, \
  984. - .data = g_memdup(data(args), sizeof(data(args))), \
  985. + .data = util_memdup(data(args), sizeof(data(args))), \
  986. .size = sizeof(data(args)), \
  987. }
  988. @@ -64,7 +64,7 @@ struct context {
  989. }; \
  990. static struct test_data data; \
  991. data.test_name = g_strdup(name); \
  992. - data.pdu_list = g_memdup(pdus, sizeof(pdus)); \
  993. + data.pdu_list = util_memdup(pdus, sizeof(pdus)); \
  994. tester_add(name, &data, NULL, function, NULL); \
  995. } while (0)
  996. diff --git a/unit/test-avdtp.c b/unit/test-avdtp.c
  997. index 4e8a68c6b..2e49def43 100644
  998. --- a/unit/test-avdtp.c
  999. +++ b/unit/test-avdtp.c
  1000. @@ -48,7 +48,7 @@ struct test_data {
  1001. #define raw_pdu(args...) \
  1002. { \
  1003. .valid = true, \
  1004. - .data = g_memdup(data(args), sizeof(data(args))), \
  1005. + .data = util_memdup(data(args), sizeof(data(args))), \
  1006. .size = sizeof(data(args)), \
  1007. }
  1008. @@ -56,7 +56,7 @@ struct test_data {
  1009. { \
  1010. .valid = true, \
  1011. .fragmented = true, \
  1012. - .data = g_memdup(data(args), sizeof(data(args))), \
  1013. + .data = util_memdup(data(args), sizeof(data(args))), \
  1014. .size = sizeof(data(args)), \
  1015. }
  1016. @@ -67,7 +67,7 @@ struct test_data {
  1017. }; \
  1018. static struct test_data data; \
  1019. data.test_name = g_strdup(name); \
  1020. - data.pdu_list = g_memdup(pdus, sizeof(pdus)); \
  1021. + data.pdu_list = util_memdup(pdus, sizeof(pdus)); \
  1022. tester_add(name, &data, NULL, function, NULL); \
  1023. } while (0)
  1024. diff --git a/unit/test-avrcp.c b/unit/test-avrcp.c
  1025. index 34a70377d..b637a8a1b 100644
  1026. --- a/unit/test-avrcp.c
  1027. +++ b/unit/test-avrcp.c
  1028. @@ -61,7 +61,7 @@ struct context {
  1029. #define raw_pdu(args...) \
  1030. { \
  1031. .valid = true, \
  1032. - .data = g_memdup(data(args), sizeof(data(args))), \
  1033. + .data = util_memdup(data(args), sizeof(data(args))), \
  1034. .size = sizeof(data(args)), \
  1035. }
  1036. @@ -69,7 +69,7 @@ struct context {
  1037. { \
  1038. .valid = true, \
  1039. .browse = true, \
  1040. - .data = g_memdup(data(args), sizeof(data(args))), \
  1041. + .data = util_memdup(data(args), sizeof(data(args))), \
  1042. .size = sizeof(data(args)), \
  1043. }
  1044. @@ -77,7 +77,7 @@ struct context {
  1045. { \
  1046. .valid = true, \
  1047. .fragmented = true, \
  1048. - .data = g_memdup(data(args), sizeof(data(args))), \
  1049. + .data = util_memdup(data(args), sizeof(data(args))), \
  1050. .size = sizeof(data(args)), \
  1051. }
  1052. @@ -85,7 +85,7 @@ struct context {
  1053. { \
  1054. .valid = true, \
  1055. .continuing = true, \
  1056. - .data = g_memdup(data(args), sizeof(data(args))), \
  1057. + .data = util_memdup(data(args), sizeof(data(args))), \
  1058. .size = sizeof(data(args)), \
  1059. }
  1060. @@ -96,7 +96,7 @@ struct context {
  1061. }; \
  1062. static struct test_data data; \
  1063. data.test_name = g_strdup(name); \
  1064. - data.pdu_list = g_memdup(pdus, sizeof(pdus)); \
  1065. + data.pdu_list = util_memdup(pdus, sizeof(pdus)); \
  1066. tester_add(name, &data, NULL, function, NULL); \
  1067. } while (0)
  1068. diff --git a/unit/test-gatt.c b/unit/test-gatt.c
  1069. index 6a47268e6..f92d860c4 100644
  1070. --- a/unit/test-gatt.c
  1071. +++ b/unit/test-gatt.c
  1072. @@ -73,7 +73,7 @@ struct context {
  1073. #define raw_pdu(args...) \
  1074. { \
  1075. .valid = true, \
  1076. - .data = g_memdup(data(args), sizeof(data(args))), \
  1077. + .data = util_memdup(data(args), sizeof(data(args))), \
  1078. .size = sizeof(data(args)), \
  1079. }
  1080. @@ -94,7 +94,7 @@ struct context {
  1081. data.uuid = bt_uuid; \
  1082. data.step = test_step; \
  1083. data.source_db = db; \
  1084. - data.pdu_list = g_memdup(pdus, sizeof(pdus)); \
  1085. + data.pdu_list = util_memdup(pdus, sizeof(pdus)); \
  1086. tester_add(name, &data, NULL, function, NULL); \
  1087. } while (0)
  1088. diff --git a/unit/test-hfp.c b/unit/test-hfp.c
  1089. index f504724d7..b4af99d53 100644
  1090. --- a/unit/test-hfp.c
  1091. +++ b/unit/test-hfp.c
  1092. @@ -17,6 +17,7 @@
  1093. #include <glib.h>
  1094. #include "src/shared/hfp.h"
  1095. #include "src/shared/tester.h"
  1096. +#include "src/shared/util.h"
  1097. struct context {
  1098. guint watch_id;
  1099. @@ -50,7 +51,7 @@ struct test_data {
  1100. #define raw_pdu(args...) \
  1101. { \
  1102. .valid = true, \
  1103. - .data = g_memdup(data(args), sizeof(data(args))), \
  1104. + .data = util_memdup(data(args), sizeof(data(args))), \
  1105. .size = sizeof(data(args)), \
  1106. }
  1107. @@ -62,7 +63,7 @@ struct test_data {
  1108. #define type_pdu(cmd_type, args...) \
  1109. { \
  1110. .valid = true, \
  1111. - .data = g_memdup(data(args), sizeof(data(args))), \
  1112. + .data = util_memdup(data(args), sizeof(data(args))), \
  1113. .size = sizeof(data(args)), \
  1114. .type = cmd_type, \
  1115. }
  1116. @@ -70,7 +71,7 @@ struct test_data {
  1117. #define frg_pdu(args...) \
  1118. { \
  1119. .valid = true, \
  1120. - .data = g_memdup(data(args), sizeof(data(args))), \
  1121. + .data = util_memdup(data(args), sizeof(data(args))), \
  1122. .size = sizeof(data(args)), \
  1123. .fragmented = true, \
  1124. }
  1125. @@ -82,7 +83,7 @@ struct test_data {
  1126. }; \
  1127. static struct test_data data; \
  1128. data.test_name = g_strdup(name); \
  1129. - data.pdu_list = g_memdup(pdus, sizeof(pdus)); \
  1130. + data.pdu_list = util_memdup(pdus, sizeof(pdus)); \
  1131. data.result_func = result_function; \
  1132. tester_add(name, &data, NULL, function, NULL); \
  1133. data.test_handler = test_handler; \
  1134. @@ -96,7 +97,7 @@ struct test_data {
  1135. }; \
  1136. static struct test_data data; \
  1137. data.test_name = g_strdup(name); \
  1138. - data.pdu_list = g_memdup(pdus, sizeof(pdus)); \
  1139. + data.pdu_list = util_memdup(pdus, sizeof(pdus)); \
  1140. data.hf_result_func = result_func; \
  1141. data.response_func = response_function; \
  1142. tester_add(name, &data, NULL, function, NULL); \
  1143. diff --git a/unit/test-hog.c b/unit/test-hog.c
  1144. index 116a5cb07..067497de4 100644
  1145. --- a/unit/test-hog.c
  1146. +++ b/unit/test-hog.c
  1147. @@ -59,24 +59,24 @@ struct context {
  1148. #define raw_pdu(args...) \
  1149. { \
  1150. .valid = true, \
  1151. - .data = g_memdup(data(args), sizeof(data(args))), \
  1152. + .data = util_memdup(data(args), sizeof(data(args))), \
  1153. .size = sizeof(data(args)), \
  1154. }
  1155. -#define false_pdu() \
  1156. -{ \
  1157. - .valid = false, \
  1158. +#define false_pdu() \
  1159. +{ \
  1160. + .valid = false, \
  1161. }
  1162. -#define define_test(name, function, args...) \
  1163. - do { \
  1164. - const struct test_pdu pdus[] = { \
  1165. - args, { } \
  1166. - }; \
  1167. - static struct test_data data; \
  1168. - data.test_name = g_strdup(name); \
  1169. - data.pdu_list = g_memdup(pdus, sizeof(pdus)); \
  1170. - tester_add(name, &data, NULL, function, NULL); \
  1171. +#define define_test(name, function, args...) \
  1172. + do { \
  1173. + const struct test_pdu pdus[] = { \
  1174. + args, { } \
  1175. + }; \
  1176. + static struct test_data data; \
  1177. + data.test_name = g_strdup(name); \
  1178. + data.pdu_list = util_memdup(pdus, sizeof(pdus));\
  1179. + tester_add(name, &data, NULL, function, NULL); \
  1180. } while (0)
  1181. static gboolean context_quit(gpointer user_data)
  1182. diff --git a/unit/test-sdp.c b/unit/test-sdp.c
  1183. index 8f95fcb71..5c04a71eb 100644
  1184. --- a/unit/test-sdp.c
  1185. +++ b/unit/test-sdp.c
  1186. @@ -47,14 +47,16 @@ struct test_data {
  1187. #define raw_pdu(args...) \
  1188. { \
  1189. .valid = true, \
  1190. - .raw_data = g_memdup(raw_data(args), sizeof(raw_data(args))), \
  1191. + .raw_data = util_memdup(raw_data(args), \
  1192. + sizeof(raw_data(args))), \
  1193. .raw_size = sizeof(raw_data(args)), \
  1194. }
  1195. #define raw_pdu_cont(cont, args...) \
  1196. { \
  1197. .valid = true, \
  1198. - .raw_data = g_memdup(raw_data(args), sizeof(raw_data(args))), \
  1199. + .raw_data = util_memdup(raw_data(args), \
  1200. + sizeof(raw_data(args))), \
  1201. .raw_size = sizeof(raw_data(args)), \
  1202. .cont_len = cont, \
  1203. }
  1204. @@ -66,7 +68,7 @@ struct test_data {
  1205. }; \
  1206. static struct test_data data; \
  1207. data.mtu = _mtu; \
  1208. - data.pdu_list = g_memdup(pdus, sizeof(pdus)); \
  1209. + data.pdu_list = util_memdup(pdus, sizeof(pdus)); \
  1210. tester_add(name, &data, NULL, test_sdp, NULL); \
  1211. } while (0)
  1212. @@ -92,7 +94,7 @@ struct test_data_de {
  1213. #define define_test_de_attr(name, input, exp) \
  1214. do { \
  1215. static struct test_data_de data; \
  1216. - data.input_data = g_memdup(input, sizeof(input)); \
  1217. + data.input_data = util_memdup(input, sizeof(input)); \
  1218. data.input_size = sizeof(input); \
  1219. data.expected = exp; \
  1220. tester_add("/sdp/DE/ATTR/" name, &data, NULL, \
  1221. diff --git a/unit/test-uhid.c b/unit/test-uhid.c
  1222. index 001d39a3d..8a8eef855 100644
  1223. --- a/unit/test-uhid.c
  1224. +++ b/unit/test-uhid.c
  1225. @@ -61,7 +61,7 @@ struct context {
  1226. }; \
  1227. static struct test_data data; \
  1228. data.test_name = g_strdup(name); \
  1229. - data.pdu_list = g_memdup(pdus, sizeof(pdus)); \
  1230. + data.pdu_list = util_memdup(pdus, sizeof(pdus)); \
  1231. tester_add(name, &data, NULL, function, NULL); \
  1232. } while (0)
  1233. --
  1234. 2.17.1