[Skiboot] [PATCH] libffs: Fix string truncation gcc warning.
Oliver
oohall at gmail.com
Wed Feb 20 15:11:50 AEDT 2019
On Wed, Feb 20, 2019 at 3:10 PM Oliver <oohall at gmail.com> wrote:
>
> On Wed, Feb 20, 2019 at 2:11 PM Stewart Smith <stewart at linux.ibm.com> wrote:
> >
> > From: Michal Suchanek <msuchanek at suse.de>
> >
> > Allow one more byte copied. The allocated space has extra byte anyway.
> >
> > Signed-off-by: Michal Suchanek <msuchanek at suse.de>
> > ---
> > libflash/libffs.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/libflash/libffs.c b/libflash/libffs.c
> > index 221c2b024c10..4eb0ffa997ac 100644
> > --- a/libflash/libffs.c
> > +++ b/libflash/libffs.c
> > @@ -522,7 +522,7 @@ int ffs_part_info(struct ffs_handle *ffs, uint32_t part_idx,
> > n = calloc(1, FFS_PART_NAME_MAX + 1);
> > if (!n)
> > return FLASH_ERR_MALLOC_FAILED;
> > - strncpy(n, ent->name, FFS_PART_NAME_MAX);
> > + strncpy(n, ent->name, FFS_PART_NAME_MAX + 1);
>
> Eh... If the partition name uses all 16 bytes of the name (i.e it's
> not terminated) then ent->name will be left unterminated with this
> change. The comments on ffs_entry are correct the name field is
> supposed to be terminated anyway so only copying FFS_PART_NAME_MAX
> (15) bytes is better since it doesn't require the FFS input to be well
> formed.
s/ent->name/n/
>
> > *name = n;
> > }
> > return 0;
> > --
> > 2.20.1
> >
> > _______________________________________________
> > Skiboot mailing list
> > Skiboot at lists.ozlabs.org
> > https://lists.ozlabs.org/listinfo/skiboot
More information about the Skiboot
mailing list