Diff between 30dfb626abf35d6c1d0a6016655f99fad9e9b924 and a3344c7d4670c30c75bdf1e1427e3365690d31a6

Changed Files

File Additions Deletions Status
tools/sdptool.c +8 -1 modified

Full Patch

diff --git a/tools/sdptool.c b/tools/sdptool.c
index cbe8814..039e67d 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;
 	}