Commit d491e7ea authored by Zhiqiang Liu's avatar Zhiqiang Liu Committed by Tomasz Zawadzki
Browse files

blobfs: check return value of strdup in blobfs_fuse_start()



In blobfs_fuse_start(), bfuse->bdev_name and bfuse->mountpoint
are allocated by calling strdup(), which may return NULL.
Here, we will go to err if strdup() returns NULL.

Signed-off-by: default avatarZhiqiang Liu <liuzhiqiang26@huawei.com>
Change-Id: I0599254b3436a310ddd26732312281f07a4972ec
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8303


Community-CI: Mellanox Build Bot
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarAleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
parent d5af6a04
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -301,15 +301,19 @@ blobfs_fuse_start(const char *bdev_name, const char *mountpoint, struct spdk_fil
		return -ENOMEM;
	}

	rc = fuse_parse_cmdline(&args, &opts);
	assert(rc == 0);

	bfuse->bdev_name = strdup(bdev_name);
	bfuse->mountpoint = strdup(mountpoint);
	if (!bfuse->bdev_name || !bfuse->mountpoint) {
		rc = -ENOMEM;
		goto err;
	}
	bfuse->fs = fs;
	bfuse->cb_fn = cb_fn;
	bfuse->cb_arg = cb_arg;

	rc = fuse_parse_cmdline(&args, &opts);
	assert(rc == 0);

	fuse_handle = fuse_new(&args, &spdk_fuse_oper, sizeof(spdk_fuse_oper), NULL);
	fuse_opt_free_args(&args);
	if (fuse_handle == NULL) {