hostfs: Use kasprintf() instead of fixed buffer formatting
Improve readability and maintainability by replacing a hardcoded string allocation and formatting by the use of the kasprintf() helper. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Richard Weinberger <richard@nod.at>
This commit is contained in:
parent
35f3401317
commit
b58c4e9619
@ -139,8 +139,8 @@ static char *inode_name(struct inode *ino)
|
|||||||
|
|
||||||
static char *follow_link(char *link)
|
static char *follow_link(char *link)
|
||||||
{
|
{
|
||||||
int len, n;
|
|
||||||
char *name, *resolved, *end;
|
char *name, *resolved, *end;
|
||||||
|
int n;
|
||||||
|
|
||||||
name = __getname();
|
name = __getname();
|
||||||
if (!name) {
|
if (!name) {
|
||||||
@ -164,15 +164,13 @@ static char *follow_link(char *link)
|
|||||||
return name;
|
return name;
|
||||||
|
|
||||||
*(end + 1) = '\0';
|
*(end + 1) = '\0';
|
||||||
len = strlen(link) + strlen(name) + 1;
|
|
||||||
|
|
||||||
resolved = kmalloc(len, GFP_KERNEL);
|
resolved = kasprintf(GFP_KERNEL, "%s%s", link, name);
|
||||||
if (resolved == NULL) {
|
if (resolved == NULL) {
|
||||||
n = -ENOMEM;
|
n = -ENOMEM;
|
||||||
goto out_free;
|
goto out_free;
|
||||||
}
|
}
|
||||||
|
|
||||||
sprintf(resolved, "%s%s", link, name);
|
|
||||||
__putname(name);
|
__putname(name);
|
||||||
kfree(link);
|
kfree(link);
|
||||||
return resolved;
|
return resolved;
|
||||||
@ -921,18 +919,16 @@ static int hostfs_fill_sb_common(struct super_block *sb, void *d, int silent)
|
|||||||
sb->s_d_op = &simple_dentry_operations;
|
sb->s_d_op = &simple_dentry_operations;
|
||||||
sb->s_maxbytes = MAX_LFS_FILESIZE;
|
sb->s_maxbytes = MAX_LFS_FILESIZE;
|
||||||
|
|
||||||
/* NULL is printed as <NULL> by sprintf: avoid that. */
|
/* NULL is printed as '(null)' by printf(): avoid that. */
|
||||||
if (req_root == NULL)
|
if (req_root == NULL)
|
||||||
req_root = "";
|
req_root = "";
|
||||||
|
|
||||||
err = -ENOMEM;
|
err = -ENOMEM;
|
||||||
sb->s_fs_info = host_root_path =
|
sb->s_fs_info = host_root_path =
|
||||||
kmalloc(strlen(root_ino) + strlen(req_root) + 2, GFP_KERNEL);
|
kasprintf(GFP_KERNEL, "%s/%s", root_ino, req_root);
|
||||||
if (host_root_path == NULL)
|
if (host_root_path == NULL)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
sprintf(host_root_path, "%s/%s", root_ino, req_root);
|
|
||||||
|
|
||||||
root_inode = new_inode(sb);
|
root_inode = new_inode(sb);
|
||||||
if (!root_inode)
|
if (!root_inode)
|
||||||
goto out;
|
goto out;
|
||||||
|
Loading…
Reference in New Issue
Block a user