From 12a08de42038eca02095b93b74cb9e2313986876 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=A9mie=20Galarneau?= Date: Thu, 15 Oct 2015 13:43:06 -0400 Subject: [PATCH] Fix: truncated value in fgetc() usage MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Reported by Coverity Scan: CID 1327417: API usage errors (CHAR_IO) Assigning the return value of "fgetc" to char "c" truncates its value. Signed-off-by: Jérémie Galarneau --- include/babeltrace/compat/stdio.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/include/babeltrace/compat/stdio.h b/include/babeltrace/compat/stdio.h index 0301e283..41d1df35 100644 --- a/include/babeltrace/compat/stdio.h +++ b/include/babeltrace/compat/stdio.h @@ -84,9 +84,10 @@ ssize_t bt_getline(char **lineptr, size_t *n, FILE *stream) } for (;;) { char c; + int ret; - c = fgetc(stream); - if (c == EOF) { + ret = fgetc(stream); + if (ret == EOF) { if (ferror(stream)) { /* ferror() is set, errno set by fgetc(). */ return -1; @@ -95,6 +96,7 @@ ssize_t bt_getline(char **lineptr, size_t *n, FILE *stream) found_eof = 1; break; } + c = (char) ret; if (linelen == SSIZE_MAX) { errno = EOVERFLOW; return -1; -- 2.34.1