diff options
author | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2015-08-12 16:51:17 +0300 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2015-08-13 14:05:31 +0300 |
commit | a3344c7d4670c30c75bdf1e1427e3365690d31a6 (patch) | |
tree | 0ce263126d52387bf5b2b85548bf55ec04570a35 | |
parent | 30dfb626abf35d6c1d0a6016655f99fad9e9b924 (diff) | |
download | bluez-a3344c7d4670c30c75bdf1e1427e3365690d31a6.tar.gz |
tools/sdptool: Fix resource leaks
-rw-r--r-- | tools/sdptool.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/tools/sdptool.c b/tools/sdptool.c index cbe88149c..039e67d9e 100644 --- a/tools/sdptool.c +++ b/tools/sdptool.c @@ -3312,6 +3312,7 @@ static int add_palmos(sdp_session_t *session, svc_info_t *si) sdp_record_t record; sdp_list_t *root, *svclass; uuid_t root_uuid, svclass_uuid; + int err; memset(&record, 0, sizeof(record)); record.handle = si->handle; @@ -3324,7 +3325,13 @@ static int add_palmos(sdp_session_t *session, svc_info_t *si) svclass = sdp_list_append(NULL, &svclass_uuid); sdp_set_service_classes(&record, svclass); - if (sdp_device_record_register(session, &interface, &record, SDP_RECORD_PERSIST) < 0) { + err = sdp_device_record_register(session, &interface, &record, + SDP_RECORD_PERSIST); + + sdp_list_free(root, NULL); + sdp_list_free(svclass, NULL); + + if (err < 0) { printf("Service Record registration failed\n"); return -1; } |