+ Avri On Fri, 26 Nov 2021 at 15:48, Oleh Kravchenko <oleg@xxxxxxxxxx> wrote: > > Manpage of strncpy() says: > If there is no null byte among the first n bytes of src, > the string placed in dest will not be null-terminated. > > Put \0 to the end of the buffer to ensure that > the destination string is NULL-terminated. Please update the commit message to reflect what the patch really does, as the above is no longer correct. > > This patch also fixes a compile error with a newer version of GCC. > > Signed-off-by: Oleh Kravchenko <oleg@xxxxxxxxxx> At next submission, please also add Avri Altman <avri.altman@xxxxxxx>, who co-maintains the mmc-utils. > --- > mmc_cmds.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/mmc_cmds.c b/mmc_cmds.c > index 73bd32a..753fcd9 100644 > --- a/mmc_cmds.c > +++ b/mmc_cmds.c > @@ -1392,7 +1392,6 @@ int do_read_extcsd(int nargs, char **argv) > __u32 regl; > int fd, ret; > char *device; > - char lbuf[10]; > const char *str; > > if (nargs != 2) { > @@ -1834,9 +1833,7 @@ int do_read_extcsd(int nargs, char **argv) > } > > if (ext_csd_rev >= 7) { > - memset(lbuf, 0, sizeof(lbuf)); > - strncpy(lbuf, (char*)&ext_csd[EXT_CSD_FIRMWARE_VERSION], 8); > - printf("eMMC Firmware Version: %s\n", lbuf); > + printf("eMMC Firmware Version: %.*s\n", 8, (char*)&ext_csd[EXT_CSD_FIRMWARE_VERSION]); This looks good to me. However, I suggest you skip the dynamic length format. Just use %.8s. > 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.32.0 > Kind regards Uffe