From 5e8f21db343e31212dfe0dd3e77591260004ef28 Mon Sep 17 00:00:00 2001 From: InHong Han Date: Fri, 21 May 2021 18:31:31 +0900 Subject: [PATCH] Fix issue detected by static analysis tool check_return: Calling fcntl(ret, 2, flag | 1) without checking return value. This library function may fail and return an error code. Change-Id: I19b98afd782d3a545c18548cfda1f7908d3ec94c --- ism/src/scim_socket.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ism/src/scim_socket.cpp b/ism/src/scim_socket.cpp index b580879..692ecd1 100644 --- a/ism/src/scim_socket.cpp +++ b/ism/src/scim_socket.cpp @@ -759,7 +759,13 @@ public: m_address = addr; ret = SD_LISTEN_FDS_START + 0; int flag = fcntl (ret, F_GETFD, 0); - fcntl (ret, F_SETFD, flag|FD_CLOEXEC); + if (flag != -1) + flag = fcntl (ret, F_SETFD, flag|FD_CLOEXEC); + + if (flag == -1) { + LOGW ("fcntl() failed"); + return false; + } m_id = ret; } else { LOGW("No sd socket!!"); -- 2.7.4