btrfs: trivial fix, a potential memory leak in btrfs_parse_early_options()
Signed-off-by: Jie Liu <jeff.liu@oracle.com>
This commit is contained in:
Родитель
5ca496604b
Коммит
83c8c9bde0
|
@ -419,7 +419,7 @@ static int btrfs_parse_early_options(const char *options, fmode_t flags,
|
||||||
u64 *subvol_rootid, struct btrfs_fs_devices **fs_devices)
|
u64 *subvol_rootid, struct btrfs_fs_devices **fs_devices)
|
||||||
{
|
{
|
||||||
substring_t args[MAX_OPT_ARGS];
|
substring_t args[MAX_OPT_ARGS];
|
||||||
char *opts, *orig, *p;
|
char *device_name, *opts, *orig, *p;
|
||||||
int error = 0;
|
int error = 0;
|
||||||
int intarg;
|
int intarg;
|
||||||
|
|
||||||
|
@ -470,8 +470,14 @@ static int btrfs_parse_early_options(const char *options, fmode_t flags,
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case Opt_device:
|
case Opt_device:
|
||||||
error = btrfs_scan_one_device(match_strdup(&args[0]),
|
device_name = match_strdup(&args[0]);
|
||||||
|
if (!device_name) {
|
||||||
|
error = -ENOMEM;
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
error = btrfs_scan_one_device(device_name,
|
||||||
flags, holder, fs_devices);
|
flags, holder, fs_devices);
|
||||||
|
kfree(device_name);
|
||||||
if (error)
|
if (error)
|
||||||
goto out;
|
goto out;
|
||||||
break;
|
break;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче