ret = -EFAULT;
                goto out;
        }
+
+       vol_args->name[BTRFS_PATH_NAME_MAX] = '\0';
        namelen = strlen(vol_args->name);
-       if (namelen > BTRFS_VOL_NAME_MAX) {
-               ret = -EINVAL;
-               goto out;
-       }
 
        mutex_lock(&root->fs_info->volume_mutex);
        sizestr = vol_args->name;
                goto out;
        }
 
+       vol_args->name[BTRFS_PATH_NAME_MAX] = '\0';
        namelen = strlen(vol_args->name);
-       if (namelen > BTRFS_VOL_NAME_MAX) {
-               ret = -EINVAL;
-               goto out;
-       }
        if (strchr(vol_args->name, '/')) {
                ret = -EINVAL;
                goto out;
                ret = -EFAULT;
                goto out;
        }
+       vol_args->name[BTRFS_PATH_NAME_MAX] = '\0';
        ret = btrfs_init_new_device(root, vol_args->name);
 
 out:
                ret = -EFAULT;
                goto out;
        }
+       vol_args->name[BTRFS_PATH_NAME_MAX] = '\0';
        ret = btrfs_rm_device(root, vol_args->name);
 
 out: