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> --- 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