dnssd-plugin: overwrite sdref_map for duplicate fd 98/266198/1
authorSeonah Moon <seonah1.moon@samsung.com>
Thu, 21 Oct 2021 14:14:40 +0000 (23:14 +0900)
committercheoleun moon <chleun.moon@samsung.com>
Tue, 9 Nov 2021 05:50:35 +0000 (14:50 +0900)
Change-Id: Iba2b8e5ea6bb541289b4c627a714315c0da3b624

plugins/dns-sd/dns-sd-plugin.cpp

index 5d8f5a96b9c3973a21c3c79b4195ef79dc0af3d9..2a1b79f5934ad8b1c7eb843dcfff1f95316c84df 100755 (executable)
@@ -152,11 +152,12 @@ void add_new_fd(vine_dns_sd_s *dns_sd_handle,
        VINE_LOGD("Insert new service ref[%p] fd[%d]", service_ref, fd);
 
        if (!dns_sd_handle->sdref_map.find(fd)) {
-               dns_sd_handle->sdref_map.insert(fd, service_ref);
                VINE_LOGD("New fd[%d] to be added", fd);
        } else {
                VINE_LOGI("Duplicate fd[%d]", fd);
+               dns_sd_handle->sdref_map.erase(fd);
        }
+       dns_sd_handle->sdref_map.insert(fd, service_ref);
 
        if (event_callbacks.fd_added_cb)
                event_callbacks.fd_added_cb(fd, dns_sd_handle->user_data);