OSDN Git Service

contrib/rdmacm-mux: Fix error condition in hash_tbl_search_fd_by_ifid()
authorAlexChen <alex.chen@huawei.com>
Thu, 29 Oct 2020 13:43:27 +0000 (21:43 +0800)
committerMarcel Apfelbaum <marcel.apfelbaum@gmail.com>
Fri, 18 Dec 2020 18:15:42 +0000 (20:15 +0200)
When fd is not found according to ifid, the _hash_tbl_search_fd_by_ifid()
returns 0 and assigns the result to *fd, so We have to check that *fd is 0,
not that fd is 0.

Reported-by: Euler Robot <euler.robot@huawei.com>
Signed-off-by: AlexChen <alex.chen@huawei.com>
Message-Id: <5F9AC6FF.4000301@huawei.com>
Reviewed-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
contrib/rdmacm-mux/main.c

index bd82abb..771ca01 100644 (file)
@@ -186,7 +186,7 @@ static int hash_tbl_search_fd_by_ifid(int *fd, __be64 *gid_ifid)
     *fd = _hash_tbl_search_fd_by_ifid(gid_ifid);
     pthread_rwlock_unlock(&server.lock);
 
-    if (!fd) {
+    if (!*fd) {
         syslog(LOG_WARNING, "Can't find matching for ifid 0x%llx\n", *gid_ifid);
         return -ENOENT;
     }