From: Philippe Proulx Date: Fri, 29 Mar 2019 22:05:54 +0000 (-0400) Subject: Fix: handle_conversion_specifier_std(): use `sizeof(PRI*64) - 1` X-Git-Tag: v2.0.0-pre5~112 X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=commitdiff_plain;h=69851fffedf3e4a5fa2e24ba4366d56037bf0980 Fix: handle_conversion_specifier_std(): use `sizeof(PRI*64) - 1` `sizeof(PRIu64)`, for example, includes the terminating null character, so what we want here is this size minus one. Signed-off-by: Philippe Proulx --- diff --git a/common/common.c b/common/common.c index 1c49a465..d261372d 100644 --- a/common/common.c +++ b/common/common.c @@ -1335,27 +1335,27 @@ static inline void handle_conversion_specifier_std(char *buf, char **buf_ch, /* format (PRI*64) */ if (strncmp(fmt_ch, PRId64, sizeof(PRId64) - 1) == 0) { - fmt_ch += sizeof(PRId64); + fmt_ch += sizeof(PRId64) - 1; BUF_STD_APPEND_SINGLE_ARG(int64_t); goto update_rw_fmt; } else if (strncmp(fmt_ch, PRIu64, sizeof(PRIu64) - 1) == 0) { - fmt_ch += sizeof(PRIu64); + fmt_ch += sizeof(PRIu64) - 1; BUF_STD_APPEND_SINGLE_ARG(uint64_t); goto update_rw_fmt; } else if (strncmp(fmt_ch, PRIx64, sizeof(PRIx64) - 1) == 0) { - fmt_ch += sizeof(PRIx64); + fmt_ch += sizeof(PRIx64) - 1; BUF_STD_APPEND_SINGLE_ARG(uint64_t); goto update_rw_fmt; } else if (strncmp(fmt_ch, PRIX64, sizeof(PRIX64) - 1) == 0) { - fmt_ch += sizeof(PRIX64); + fmt_ch += sizeof(PRIX64) - 1; BUF_STD_APPEND_SINGLE_ARG(uint64_t); goto update_rw_fmt; } else if (strncmp(fmt_ch, PRIo64, sizeof(PRIo64) - 1) == 0) { - fmt_ch += sizeof(PRIo64); + fmt_ch += sizeof(PRIo64) - 1; BUF_STD_APPEND_SINGLE_ARG(uint64_t); goto update_rw_fmt; } else if (strncmp(fmt_ch, PRIi64, sizeof(PRIi64) - 1) == 0) { - fmt_ch += sizeof(PRIi64); + fmt_ch += sizeof(PRIi64) - 1; BUF_STD_APPEND_SINGLE_ARG(int64_t); goto update_rw_fmt; }