From f82548675c86f95873b506a48d807b035c57ab77 Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Wed, 13 Jul 2011 11:10:22 -0400 Subject: [PATCH] CTF format: packet metadata final \0 fix Signed-off-by: Mathieu Desnoyers --- formats/ctf/ctf.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/formats/ctf/ctf.c b/formats/ctf/ctf.c index dc7baf5a..b9d353e6 100644 --- a/formats/ctf/ctf.c +++ b/formats/ctf/ctf.c @@ -470,7 +470,7 @@ int ctf_open_trace_metadata_packet_read(struct ctf_trace *td, FILE *in, { struct metadata_packet_header header; size_t readlen, writelen, toread; - char buf[4096]; + char buf[4096 + 1]; /* + 1 for debug-mode \0 */ int ret = 0; readlen = fread(&header, header_sizeof(header), 1, in); @@ -511,12 +511,13 @@ int ctf_open_trace_metadata_packet_read(struct ctf_trace *td, FILE *in, toread = (header.content_size / CHAR_BIT) - header_sizeof(header); for (;;) { - readlen = fread(buf, sizeof(char), min(sizeof(buf), toread), in); + readlen = fread(buf, sizeof(char), min(sizeof(buf) - 1, toread), in); if (ferror(in)) { ret = -EINVAL; break; } if (babeltrace_debug) { + buf[readlen] = '\0'; fprintf(stdout, "[debug] metadata packet read: %s\n", buf); } -- 2.34.1