diff mbox series

getchar(): Correct usage

Message ID 20240109225716.3520037-1-trini@konsulko.com
State Accepted
Commit 21a2c129adaab04a7a032a31c816ae09375fe954
Delegated to: Tom Rini
Headers show
Series getchar(): Correct usage | expand

Commit Message

Tom Rini Jan. 9, 2024, 10:57 p.m. UTC
The function getchar() returns an 'int' and not a 'char'. Coverity notes
that "Assigning the return value of getchar to char ... truncates its value."
and so for the most part we can resolve this easily by using 'int' as
intended, and often used throughout the codebase. A few places are not
so simple and would require further re-architecting of the code in order
to change this, so we leave them be.

Signed-off-by: Tom Rini <trini@konsulko.com>
---
 cmd/load.c            | 4 ++--
 common/cli_readline.c | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

Comments

Tom Rini Jan. 19, 2024, 4:10 p.m. UTC | #1
On Tue, Jan 09, 2024 at 05:57:16PM -0500, Tom Rini wrote:

> The function getchar() returns an 'int' and not a 'char'. Coverity notes
> that "Assigning the return value of getchar to char ... truncates its value."
> and so for the most part we can resolve this easily by using 'int' as
> intended, and often used throughout the codebase. A few places are not
> so simple and would require further re-architecting of the code in order
> to change this, so we leave them be.
> 
> Signed-off-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/master, thanks!
diff mbox series

Patch

diff --git a/cmd/load.c b/cmd/load.c
index 2715cf5957ee..540361b43f02 100644
--- a/cmd/load.c
+++ b/cmd/load.c
@@ -230,7 +230,7 @@  static ulong load_serial(long offset)
 static int read_record(char *buf, ulong len)
 {
 	char *p;
-	char c;
+	int c;
 
 	--len;	/* always leave room for terminating '\0' byte */
 
@@ -827,7 +827,7 @@  static void handle_send_packet(int n)
 /* k_recv receives a OS Open image file over kermit line */
 static int k_recv(void)
 {
-	char new_char;
+	int new_char;
 	char k_state, k_state_saved;
 	int sum;
 	int done;
diff --git a/common/cli_readline.c b/common/cli_readline.c
index 85453beed762..2507be229526 100644
--- a/common/cli_readline.c
+++ b/common/cli_readline.c
@@ -540,7 +540,7 @@  static int cread_line_simple(const char *const prompt, char *p)
 	int n = 0;		/* buffer index */
 	int plen = 0;		/* prompt length */
 	int col;		/* output column cnt */
-	char c;
+	int c;
 
 	/* print prompt */
 	if (prompt) {