fbarray: check for open failure
authorAnatoly Burakov <anatoly.burakov@intel.com>
Tue, 17 Apr 2018 15:44:06 +0000 (16:44 +0100)
committerThomas Monjalon <thomas@monjalon.net>
Mon, 23 Apr 2018 20:44:21 +0000 (22:44 +0200)
Coverity issue: 272564
Fixes: c44d09811b40 ("eal: add shared indexed file-backed array")

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
lib/librte_eal/common/eal_common_fbarray.c

index d8ebd62..2263f4c 100644 (file)
@@ -594,6 +594,11 @@ rte_fbarray_destroy(struct rte_fbarray *arr)
        eal_get_fbarray_path(path, sizeof(path), arr->name);
 
        fd = open(path, O_RDONLY);
+       if (fd < 0) {
+               RTE_LOG(ERR, EAL, "Could not open fbarray file: %s\n",
+                       strerror(errno));
+               return -1;
+       }
        if (flock(fd, LOCK_EX | LOCK_NB)) {
                RTE_LOG(DEBUG, EAL, "Cannot destroy fbarray - another process is using it\n");
                rte_errno = EBUSY;