提交 10028a9d 编写于 作者: W Wido den Hollander 提交者: John Ferlan

rbd: Only close RBD image if it has been opened

It could be that we error out while the RBD image has not been
opened yet. This would cause us to call rbd_close() on pointer
which has not been initialized.

Set it to NULL by default and only close if it is not NULL.
Signed-off-by: NWido den Hollander <wido@widodh.nl>
上级 b22344f3
......@@ -281,13 +281,13 @@ static int volStorageBackendRBDRefreshVolInfo(virStorageVolDefPtr vol,
{
int ret = -1;
int r = 0;
rbd_image_t image;
rbd_image_t image = NULL;
r = rbd_open(ptr->ioctx, vol->name, &image, NULL);
if (r < 0) {
virReportSystemError(-r, _("failed to open the RBD image '%s'"),
vol->name);
return ret;
goto cleanup;
}
rbd_image_info_t info;
......@@ -323,7 +323,8 @@ static int volStorageBackendRBDRefreshVolInfo(virStorageVolDefPtr vol,
ret = 0;
cleanup:
rbd_close(image);
if (image)
rbd_close(image);
return ret;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册