]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rbd-fuse.c: init 'rbd' in open_rbd_image()
authorDanny Al-Gaaf <danny.al-gaaf@bisect.de>
Thu, 8 May 2014 14:04:18 +0000 (16:04 +0200)
committerDanny Al-Gaaf <danny.al-gaaf@bisect.de>
Thu, 8 May 2014 14:04:18 +0000 (16:04 +0200)
Init 'rbd' in open_rbd_image() with NULL and add a check for
'rbd' before dereference it to fix:

rbd_fuse/rbd-fuse.c:182:29: warning: variable 'rbd' may be uninitialized
 when used here [-Wconditional-uninitialized]
        int ret = rbd_open(ioctx, rbd->image_name, &(rbd->image), NULL);
                                  ^~~
rbd_fuse/rbd-fuse.c:151:27: note: initialize the variable 'rbd' to silence
 this warning
        struct rbd_openimage *rbd;
                                 ^
                                  = NULL

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
src/rbd_fuse/rbd-fuse.c

index 1f3a21795d44522affad4bc029dd643b3fed1b76..f11808e65b4e8d9387686ffa06c7763f8b70f84b 100644 (file)
@@ -148,7 +148,7 @@ int
 open_rbd_image(const char *image_name)
 {
        struct rbd_image *im;
-       struct rbd_openimage *rbd;
+       struct rbd_openimage *rbd = NULL;
        int fd;
 
        if (image_name == (char *)NULL) 
@@ -177,7 +177,7 @@ open_rbd_image(const char *image_name)
                                break;
                        }
                }
-               if (i == MAX_RBD_IMAGES)
+               if (i == MAX_RBD_IMAGES || !rbd)
                        return -1;
                int ret = rbd_open(ioctx, rbd->image_name, &(rbd->image), NULL);
                if (ret < 0) {