Commit b58c4e96 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Richard Weinberger

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: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
parent 35f34013
...@@ -139,8 +139,8 @@ static char *inode_name(struct inode *ino) ...@@ -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) ...@@ -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) ...@@ -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;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment