found->service_name = g_strdup(name);
g_free(name);
if (txt_record != NULL) {
- found->txt_record = g_strdup(txt_record);
+ found->txt_record = g_strndup(txt_record, txt_len);
found->txt_len = txt_len;
}
found->host = g_strdup(host_name);
gpointer user_data)
{
ssdp_service_s *service = NULL;
- int browse_id = *((unsigned int *)user_data);
+ unsigned int browse_id = (uintptr_t)user_data;
service = (ssdp_service_s *)value;
if (service == NULL)
SSDP_LOGD("Free found service");
+ g_hash_table_remove(g_found_ssdp_services, service->usn);
g_free(service->target);
g_free(service->usn);
g_free(service->url);
/* Create browser handle */
*ssdp_browser = (uintptr_t)browser & 0xFFFFFFFF;
- SSDP_LOGD("Create handler for browser [%u]", *ssdp_browser);
browser->service_handler = *ssdp_browser;
/* Create the service browser */