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. This patch also fixes a compile error with a newer version of GCC. Signed-off-by: Oleh Kravchenko <oleg@xxxxxxxxxx> --- mmc_cmds.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mmc_cmds.c b/mmc_cmds.c index 73bd32a..016fe70 100644 --- a/mmc_cmds.c +++ b/mmc_cmds.c @@ -1834,8 +1834,8 @@ 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); + strncpy(lbuf, (char*)&ext_csd[EXT_CSD_FIRMWARE_VERSION], sizeof(lbuf) - 1); + lbuf[sizeof(lbuf) - 1] = 0; 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]); -- 2.32.0