merged. Bruce
In message: [PATCH] [linux-yocto v5.10/standard/base] [linux-yocto-dev standard/base] yaffs: fix -Wstringop-overread compile warning in yaffs_fix_null_name on 13/06/2021 [email protected] wrote: > From: Quanyang Wang <[email protected]> > > In yaffs_fix_null_name, "if (strnlen(name, YAFFS_MAX_NAME_LENGTH) == 0)" > is used to judge if the "name" string is zero length. But this is wrong > when the "name" char array size is less than YAFFS_MAX_NAME_LENGTH and > this will trigger compile warnig as below: > > fs/yaffs2/yaffs_guts.c:4501:13: warning: ‘strnlen’ specified bound 255 > exceeds source size 16 [-Wstringop-overread] > 4501 | if (strnlen(name, YAFFS_MAX_NAME_LENGTH) == 0) { > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > Let's use buffer_size to do this instead of YAFFS_MAX_NAME_LENGTH > because buffer_size is passed to yaffs_fix_null_name by caller with > appropriate value which is fixed to the size of "name" char array. > > Signed-off-by: Quanyang Wang <[email protected]> > --- > fs/yaffs2/yaffs_guts.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/yaffs2/yaffs_guts.c b/fs/yaffs2/yaffs_guts.c > index 40a5b46cf6caf..0cc794ebc347f 100644 > --- a/fs/yaffs2/yaffs_guts.c > +++ b/fs/yaffs2/yaffs_guts.c > @@ -4498,7 +4498,7 @@ static void yaffs_fix_null_name(struct yaffs_obj *obj, > YCHAR *name, > int buffer_size) > { > /* Create an object name if we could not find one. */ > - if (strnlen(name, YAFFS_MAX_NAME_LENGTH) == 0) { > + if (strnlen(name, buffer_size) == 0) { > YCHAR local_name[20]; > YCHAR num_string[20]; > YCHAR *x = &num_string[19]; > -- > 2.25.1 >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#9971): https://lists.yoctoproject.org/g/linux-yocto/message/9971 Mute This Topic: https://lists.yoctoproject.org/mt/83503374/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
