Re: [PATCH v4] Staging: exfat: avoid use of strcpy

2019-09-11 Thread Dan Carpenter
No worries...  We all have days like that occasionally.  :P

regards,
dan carpenter

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH v4] Staging: exfat: avoid use of strcpy

2019-09-11 Thread Sandro Volery


> On 11 Sep 2019, at 21:06, Dan Carpenter  wrote:
> 
> On Wed, Sep 11, 2019 at 09:53:03PM +0200, Sandro Volery wrote:
>> diff --git a/drivers/staging/exfat/exfat_core.c 
>> b/drivers/staging/exfat/exfat_core.c
>> index da8c58149c35..4336fee444ce 100644
>> --- a/drivers/staging/exfat/exfat_core.c
>> +++ b/drivers/staging/exfat/exfat_core.c
>> @@ -2960,18 +2960,15 @@ s32 resolve_path(struct inode *inode, char *path, 
>> struct chain_t *p_dir,
>>struct super_block *sb = inode->i_sb;
>>struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info);
>>struct file_id_t *fid = &(EXFAT_I(inode)->fid);
>> -
>> -if (strlen(path) >= (MAX_NAME_LENGTH * MAX_CHARSET_SIZE))
>> +
> 
> You have added a tab here.
> 
>> +if (strscpy(name_buf, path, sizeof(name_buf)) < 0)
>>return FFS_INVALIDPATH;
>> 
>> -strcpy(name_buf, path);
>> -
>>nls_cstring_to_uniname(sb, p_uniname, name_buf, );
>>if (lossy)
>>return FFS_INVALIDPATH;
>> 
>> -fid->size = i_size_read(inode);
>> -
>> +fid->size = i_size_read(inode);
> 
> And you accidentally deleted some white space here.
> 
> I use vim, so I have it configured to highlight whitespace at the end of
> a line.  I don't remember how it's done now but I googled it for you.
> https://vim.fandom.com/wiki/Highlight_unwanted_spaces


Ugh I'm so sorry I make the most stupid mistakes today.. I was so sure 
this time I got it right!
I'll fix it tomorrow.

Thanks,
Sandro V
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH v4] Staging: exfat: avoid use of strcpy

2019-09-11 Thread Dan Carpenter
On Wed, Sep 11, 2019 at 09:53:03PM +0200, Sandro Volery wrote:
> diff --git a/drivers/staging/exfat/exfat_core.c 
> b/drivers/staging/exfat/exfat_core.c
> index da8c58149c35..4336fee444ce 100644
> --- a/drivers/staging/exfat/exfat_core.c
> +++ b/drivers/staging/exfat/exfat_core.c
> @@ -2960,18 +2960,15 @@ s32 resolve_path(struct inode *inode, char *path, 
> struct chain_t *p_dir,
>   struct super_block *sb = inode->i_sb;
>   struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info);
>   struct file_id_t *fid = &(EXFAT_I(inode)->fid);
> -
> - if (strlen(path) >= (MAX_NAME_LENGTH * MAX_CHARSET_SIZE))
> + 

You have added a tab here.

> + if (strscpy(name_buf, path, sizeof(name_buf)) < 0)
>   return FFS_INVALIDPATH;
>  
> - strcpy(name_buf, path);
> -
>   nls_cstring_to_uniname(sb, p_uniname, name_buf, );
>   if (lossy)
>   return FFS_INVALIDPATH;
>  
> - fid->size = i_size_read(inode);
> -
> +fid->size = i_size_read(inode);

And you accidentally deleted some white space here.

I use vim, so I have it configured to highlight whitespace at the end of
a line.  I don't remember how it's done now but I googled it for you.
https://vim.fandom.com/wiki/Highlight_unwanted_spaces

regards,
dan carpenter
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH v4] Staging: exfat: avoid use of strcpy

2019-09-11 Thread Sandro Volery
Replacing strcpy with strscpy and moving the length check to the
same function.

Suggested-by: Rasmus Villemoes 
Signed-off-by: Sandro Volery 
---

Took a couple attempts to finaly get this right :P

v4: Replaced strlen check
v3: Failed to replace check
v2: Forgot to replace strlen check
v1: original patch
 drivers/staging/exfat/exfat_core.c | 9 +++--
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/staging/exfat/exfat_core.c 
b/drivers/staging/exfat/exfat_core.c
index da8c58149c35..4336fee444ce 100644
--- a/drivers/staging/exfat/exfat_core.c
+++ b/drivers/staging/exfat/exfat_core.c
@@ -2960,18 +2960,15 @@ s32 resolve_path(struct inode *inode, char *path, 
struct chain_t *p_dir,
struct super_block *sb = inode->i_sb;
struct fs_info_t *p_fs = &(EXFAT_SB(sb)->fs_info);
struct file_id_t *fid = &(EXFAT_I(inode)->fid);
-
-   if (strlen(path) >= (MAX_NAME_LENGTH * MAX_CHARSET_SIZE))
+   
+   if (strscpy(name_buf, path, sizeof(name_buf)) < 0)
return FFS_INVALIDPATH;
 
-   strcpy(name_buf, path);
-
nls_cstring_to_uniname(sb, p_uniname, name_buf, );
if (lossy)
return FFS_INVALIDPATH;
 
-   fid->size = i_size_read(inode);
-
+fid->size = i_size_read(inode);
p_dir->dir = fid->start_clu;
p_dir->size = (s32)(fid->size >> p_fs->cluster_size_bits);
p_dir->flags = fid->flags;
-- 
2.23.0

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel