diff options
| -rw-r--r-- | fs/btrfs/super.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c index 8a1ea6e64575..f8b4521de907 100644 --- a/fs/btrfs/super.c +++ b/fs/btrfs/super.c | |||
| @@ -128,7 +128,7 @@ int btrfs_parse_options(struct btrfs_root *root, char *options) | |||
| 128 | { | 128 | { |
| 129 | struct btrfs_fs_info *info = root->fs_info; | 129 | struct btrfs_fs_info *info = root->fs_info; |
| 130 | substring_t args[MAX_OPT_ARGS]; | 130 | substring_t args[MAX_OPT_ARGS]; |
| 131 | char *p, *num; | 131 | char *p, *num, *orig; |
| 132 | int intarg; | 132 | int intarg; |
| 133 | int ret = 0; | 133 | int ret = 0; |
| 134 | 134 | ||
| @@ -143,6 +143,7 @@ int btrfs_parse_options(struct btrfs_root *root, char *options) | |||
| 143 | if (!options) | 143 | if (!options) |
| 144 | return -ENOMEM; | 144 | return -ENOMEM; |
| 145 | 145 | ||
| 146 | orig = options; | ||
| 146 | 147 | ||
| 147 | while ((p = strsep(&options, ",")) != NULL) { | 148 | while ((p = strsep(&options, ",")) != NULL) { |
| 148 | int token; | 149 | int token; |
| @@ -280,7 +281,7 @@ int btrfs_parse_options(struct btrfs_root *root, char *options) | |||
| 280 | } | 281 | } |
| 281 | } | 282 | } |
| 282 | out: | 283 | out: |
| 283 | kfree(options); | 284 | kfree(orig); |
| 284 | return ret; | 285 | return ret; |
| 285 | } | 286 | } |
| 286 | 287 | ||
