From: Cheoleun Moon Date: Wed, 17 Oct 2018 04:43:57 +0000 (+0900) Subject: Fix resource leak (SATIZENVUL-1629, 1630, 1632, 1633) X-Git-Tag: submit/tizen/20181106.045243^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2b55aca3e9dbaae5f91231a6bf39df6c5a8a5939;p=platform%2Fcore%2Fapi%2Fnsd.git Fix resource leak (SATIZENVUL-1629, 1630, 1632, 1633) Change-Id: I5e937d5fec56a02ef1fd7ab99949e2aa7cfa7ad2 Signed-off-by: Cheoleun Moon --- diff --git a/packaging/capi-network-nsd.spec b/packaging/capi-network-nsd.spec index 7862e95..4b16295 100644 --- a/packaging/capi-network-nsd.spec +++ b/packaging/capi-network-nsd.spec @@ -1,6 +1,6 @@ Name: capi-network-nsd Summary: A Network Service Discovery libraries in Native API -Version: 0.0.22 +Version: 0.0.23 Release: 1 Group: System/Network License: Apache-2.0 diff --git a/src/dns-sd/dns-sd.c b/src/dns-sd/dns-sd.c index 70dbb09..c5d6eea 100644 --- a/src/dns-sd/dns-sd.c +++ b/src/dns-sd/dns-sd.c @@ -92,15 +92,19 @@ static bool __dnssd_check_permission() fd = fopen("/proc/self/attr/current", "r"); if (fd == NULL) { DNSSD_LOGE("Failed to open /proc/self/attr/current"); + cynara_finish(p_cynara); return false; } ret = fread(smack_label, SMACK_LABEL_LEN, 1, fd); if (ret == 0 && ferror(fd)) { DNSSD_LOGE("Failed to read /proc/self/attr/current"); - fclose(fd); + if (fclose(fd) != 0) + DNSSD_LOGE("Failed to fclose"); + cynara_finish(p_cynara); return false; } - fclose(fd); + if (fclose(fd) != 0) + DNSSD_LOGE("Failed to fclose"); snprintf(uid, sizeof(uid), "%d", getuid()); diff --git a/src/ssdp/ssdp.c b/src/ssdp/ssdp.c index 00e7504..935dd91 100644 --- a/src/ssdp/ssdp.c +++ b/src/ssdp/ssdp.c @@ -168,15 +168,19 @@ static bool __ssdp_check_permission() fd = fopen("/proc/self/attr/current", "r"); if (fd == NULL) { SSDP_LOGE("Failed to open /proc/self/attr/current"); + cynara_finish(p_cynara); return false; } ret = fread(smack_label, SMACK_LABEL_LEN, 1, fd); if (ret == 0 && ferror(fd)) { SSDP_LOGE("Failed to read /proc/self/attr/current"); - fclose(fd); + if (fclose(fd) != 0) + SSDP_LOGE("Failed to fclose"); + cynara_finish(p_cynara); return false; } - fclose(fd); + if (fclose(fd) != 0) + SSDP_LOGE("Failed to fclose"); snprintf(uid, sizeof(uid), "%d", getuid());