Fix thread-safety issue 33/318333/3 accepted/tizen/8.0/unified/20241011.164858
authorSeonah Moon <seonah1.moon@samsung.com>
Tue, 27 Aug 2024 07:46:40 +0000 (16:46 +0900)
committerSeonah Moon <seonah1.moon@samsung.com>
Fri, 27 Sep 2024 10:57:10 +0000 (19:57 +0900)
Change-Id: I8b23fb9836f1acbfc191fd3bdb85789dca9e5a35

packaging/capi-network-nsd.spec
src/dns-sd/dns-sd.c

index c2ed239f616295c1742cb5e86d686aeff1806a96..ebd1d58c937ae9382f9fa679c9f53638aeb26092 100644 (file)
@@ -1,6 +1,6 @@
 Name:       capi-network-nsd
 Summary:    A Network Service Discovery libraries in Native API
-Version:    0.2.2
+Version:    0.2.3
 Release:    1
 Group:      System/Network
 License:    Apache-2.0
index 8f40f2f40fa482d0804fe1fecc8188f2a8ce8560..b1922d8c6d0192ae137b7458c197eae5a383c3a4 100644 (file)
@@ -1350,7 +1350,7 @@ static int __dnssd_getaddrinfo(dnssd_handle_s *dnssd_handle, unsigned int flags,
                return DNSSD_ERROR_OPERATION_FAILED;
        }
 
-       if (!local_handle) {
+       if (!local_handle || __dnssd_check_handle_validity(local_handle) == false) {
                DNSSD_LOGE("Failed to get local_handle");
                return DNSSD_ERROR_OUT_OF_MEMORY;
        }
@@ -1404,6 +1404,12 @@ static void __dnssd_resolve_reply_cb(DNSServiceRef sd_ref, unsigned int flags,
                return;
        }
 
+       if (__dnssd_check_resolve_reply_data_validity(resolve_data) == NULL) {
+               DNSSD_LOGD("Invalid resolve_data[%p]", resolve_data);
+               DNSSD_UNLOCK;
+               return;
+       }
+
        /* Get Address Info details and send browse callback */
        __dnssd_getaddrinfo(resolve_data->dnssd_handle, flags, if_index,
                        host_name, resolve_data->service_name, fullname,