Store errno in a variable to avoid overwriting 82/210882/1
authorKrzysztof Jackiewicz <k.jackiewicz@samsung.com>
Thu, 25 Jul 2019 14:25:06 +0000 (16:25 +0200)
committerKrzysztof Jackiewicz <k.jackiewicz@samsung.com>
Thu, 25 Jul 2019 14:25:06 +0000 (16:25 +0200)
Errno code from connect() was overwritten by the result of close(). As
a result the EACCES condition was not triggered.

Change-Id: I95478d28ce72b5535f98d4b045d3f8e0eec92306

TEECLib/src/teec_connection.c

index 7ae18ccebeec158360e543dd4fbf4c6854425c87..ddf6279588623d0d4f8524cdb41e91f993758248 100644 (file)
@@ -73,9 +73,10 @@ TEEC_Result connectToServer(int32_t *fd)
 
        // Connect to Simulator Daemon
        if (connect(serverSocket, sockptr, socklen) == -1) {
-               LOGE(MODULE_TEEC_LIB, "connection to simdaemon(%s) failed errno=%d", SIMDAEMON_SOCK_PATH, errno);
+               int err = errno;
+               LOGE(MODULE_TEEC_LIB, "connection to simdaemon(%s) failed errno=%d", SIMDAEMON_SOCK_PATH, err);
                close(serverSocket);
-               if (errno == EACCES)
+               if (err == EACCES)
                        return TEEC_ERROR_ACCESS_DENIED;
                return TEEC_ERROR_GENERIC;
        }