On Tue, 13 Jul 2021 at 10:00, Avri Altman <Avri.Altman@xxxxxxx> wrote: > > > > > From: Kimito Sakata <kimito.sakata@xxxxxxxxxx> > > > > Added a local buffer to create a NULL terminated string to print the > > Firmware Version instead of attempting to print directly from > > ext_csd buffer. The last byte of the Firmware Version field may not > > be NULL and the next field may also not be which may cause it to > > print garbage. > > > > Tested on x86 platform. > Fixes: 89cd01ed865a (mmc_utils: add ffu support) > > Signed-off-by: Kimito Sakata <kimito.sakata@xxxxxxxxxx> > Reviewed-by: Avri Altman <avri.altman@xxxxxxx> Applied for master at git.kernel.org/pub/scm/utils/mmc/mmc-utils.git, thanks! Kind regards Uffe > > > --- > > mmc_cmds.c | 6 ++++-- > > 1 file changed, 4 insertions(+), 2 deletions(-) > > > > diff --git a/mmc_cmds.c b/mmc_cmds.c > > index afa85b7..205e6e5 100644 > > --- a/mmc_cmds.c > > +++ b/mmc_cmds.c > > @@ -1392,6 +1392,7 @@ int do_read_extcsd(int nargs, char **argv) > > __u32 regl; > > int fd, ret; > > char *device; > > + char lbuf[10]; > > const char *str; > > > > if (nargs != 2) { > > @@ -1833,8 +1834,9 @@ int do_read_extcsd(int nargs, char **argv) > > } > > > > if (ext_csd_rev >= 7) { > > - printf("eMMC Firmware Version: %s\n", > > - (char*)&ext_csd[EXT_CSD_FIRMWARE_VERSION]); > > + memset(lbuf, 0, sizeof(lbuf)); > > + strncpy(lbuf, (char*)&ext_csd[EXT_CSD_FIRMWARE_VERSION], 8); > > + printf("eMMC Firmware Version: %s\n", lbuf); > > printf("eMMC Life Time Estimation A > > [EXT_CSD_DEVICE_LIFE_TIME_EST_TYP_A]: 0x%02x\n", > > ext_csd[EXT_CSD_DEVICE_LIFE_TIME_EST_TYP_A]); > > printf("eMMC Life Time Estimation B > > [EXT_CSD_DEVICE_LIFE_TIME_EST_TYP_B]: 0x%02x\n", > > -- > > 2.31.1 >