diff -uprN bluez-libs-3.17/include/sdp_lib.h bluez-libs-3.17.patched/include/sdp_lib.h --- bluez-libs-3.17/include/sdp_lib.h 2007-05-09 03:40:39.000000000 -0300 +++ bluez-libs-3.17.patched/include/sdp_lib.h 2007-08-31 14:15:49.000000000 -0300 @@ -609,6 +609,9 @@ void sdp_pattern_add_uuidseq(sdp_record_ int sdp_send_req_w4_rsp(sdp_session_t *session, uint8_t *req, uint8_t *rsp, uint32_t reqsize, uint32_t *rspsize); +/** This function will cleanup the bluetooth base uuid, should be called only after the thread has ended it's work **/ +void sdp_cleanup(); + #ifdef __cplusplus } #endif diff -uprN bluez-libs-3.17/src/sdp.c bluez-libs-3.17.patched/src/sdp.c --- bluez-libs-3.17/src/sdp.c 2007-08-23 06:59:37.000000000 -0300 +++ bluez-libs-3.17.patched/src/sdp.c 2007-08-31 14:15:02.000000000 -0300 @@ -2152,6 +2152,11 @@ uint128_t *sdp_create_base_uuid(void) return bluetooth_base_uuid; } +void sdp_cleanup(){ + if (bluetooth_base_uuid) + free(bluetooth_base_uuid); +} + uuid_t *sdp_uuid16_create(uuid_t *u, uint16_t val) { memset(u, 0, sizeof(uuid_t));