Fix use-after-free 03/270803/1 accepted/tizen/unified/20220210.105908 submit/tizen/20220209.080059
authorSeonah Moon <seonah1.moon@samsung.com>
Wed, 9 Feb 2022 07:44:16 +0000 (16:44 +0900)
committerSeonah Moon <seonah1.moon@samsung.com>
Wed, 9 Feb 2022 07:44:28 +0000 (16:44 +0900)
Change-Id: I873d35ec882e23509ccc56ce434c17a6c4d7608f

packaging/capi-network-vine.spec
plugins/dns-sd/dns-sd-plugin.cpp

index bad9aa5..414ac25 100755 (executable)
@@ -3,7 +3,7 @@
 %bcond_without use_glib_event_loop
 Name:    capi-network-vine
 Summary: An service discovery framework
-Version: 1.2.8
+Version: 1.2.9
 Release: 0
 Group:   Network & Connectivity/API
 License: Apache-2.0
index 2a1b79f..6f6bdc0 100755 (executable)
@@ -187,9 +187,9 @@ static void __remove_service_ref_all(vine_dns_sd_s *dns_sd_handle)
        dns_sd_handle->sdref_map.for_each([&](int fd, DNSServiceRef service_ref) {
                                if (event_callbacks.fd_removed_cb)
                                        event_callbacks.fd_removed_cb(fd, dns_sd_handle->user_data);
-                               DNSServiceRefDeallocate(service_ref);
 
                                VINE_LOGD("fd[%d]/service_ref[%p] is removed.", fd, service_ref);
+                               DNSServiceRefDeallocate(service_ref);
                        });
 
        dns_sd_handle->sdref_map.clear();
@@ -499,8 +499,8 @@ void dns_sd_deinit(void *plugin_handle)
        vine_dns_sd_s *dns_sd_handle = (vine_dns_sd_s *)plugin_handle;
 
        dns_sd_handle->sdref_map.for_each([&](int fd, DNSServiceRef service_ref) {
-                               DNSServiceRefDeallocate(service_ref);
                                VINE_LOGD("fd[%d]/service_ref[%p] is removed.", fd, service_ref);
+                               DNSServiceRefDeallocate(service_ref);
                        });
 
        dns_sd_handle->sdref_map.clear();