Re: [PATCH 2/4] e2fsck: use size_t instead of int in string_copy()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Jun 5, 2020, at 2:14 AM, Lukas Czerner <lczerner@xxxxxxxxxx> wrote:
> 
> len argument in string_copy() is int, but it is used with malloc(),
> strlen(), strncpy() and some callers use sizeof() to pass value in. So
> it really ought to be size_t rather than int. Fix it.
> 
> Signed-off-by: Lukas Czerner <lczerner@xxxxxxxxxx>

Thanks, having good types makes it much easier to follow code logic.

There are still a bunch of places in e2fsprogs that are using "int" and
"long" for various blocks, counters, etc. that could use more precise
types.  I did a bunch of cleanup when I reviewd all of the directory and
allocation code for 64-bit issues. It still lingers elsewhere, but every
fix improves the code a bit, if we keep an eye on other incoming changes.

Reviewed-by: Andreas Dilger <adilger@xxxxxxxxx>

> ---
> e2fsck/e2fsck.h | 2 +-
> e2fsck/util.c   | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/e2fsck/e2fsck.h b/e2fsck/e2fsck.h
> index 9b2b9ce8..85f953b2 100644
> --- a/e2fsck/e2fsck.h
> +++ b/e2fsck/e2fsck.h
> @@ -627,7 +627,7 @@ extern void log_err(e2fsck_t ctx, const char *fmt, ...)
> extern void e2fsck_read_bitmaps(e2fsck_t ctx);
> extern void e2fsck_write_bitmaps(e2fsck_t ctx);
> extern void preenhalt(e2fsck_t ctx);
> -extern char *string_copy(e2fsck_t ctx, const char *str, int len);
> +extern char *string_copy(e2fsck_t ctx, const char *str, size_t len);
> extern int fs_proc_check(const char *fs_name);
> extern int check_for_modules(const char *fs_name);
> #ifdef RESOURCE_TRACK
> diff --git a/e2fsck/util.c b/e2fsck/util.c
> index d98b8e47..88e0ea8a 100644
> --- a/e2fsck/util.c
> +++ b/e2fsck/util.c
> @@ -135,7 +135,7 @@ void *e2fsck_allocate_memory(e2fsck_t ctx, unsigned long size,
> }
> 
> char *string_copy(e2fsck_t ctx EXT2FS_ATTR((unused)),
> -		  const char *str, int len)
> +		  const char *str, size_t len)
> {
> 	char	*ret;
> 
> --
> 2.21.3
> 


Cheers, Andreas





Attachment: signature.asc
Description: Message signed with OpenPGP


[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux