diff options
Diffstat (limited to 'src/device.c')
| -rw-r--r-- | src/device.c | 5 | 
1 files changed, 4 insertions, 1 deletions
| diff --git a/src/device.c b/src/device.c index c998eb09..82a90e05 100644 --- a/src/device.c +++ b/src/device.c @@ -880,8 +880,10 @@ static void update_services(struct browse_req *req, sdp_list_t *recs)  		/* Extract the first element and skip the remainning */  		uuid_str = bt_uuid2string(svcclass->data); -		if (!uuid_str) +		if (!uuid_str) { +			sdp_list_free(svcclass, free);  			continue; +		}  		if (!strcasecmp(uuid_str, PNP_UUID)) {  			uint16_t source, vendor, product, version; @@ -917,6 +919,7 @@ static void update_services(struct browse_req *req, sdp_list_t *recs)  		/* Check for duplicates */  		if (sdp_list_find(req->records, rec, rec_cmp)) {  			g_free(uuid_str); +			sdp_list_free(svcclass, free);  			continue;  		} | 
