public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v3 2/2] image: Protect against overflow in unknown_msg()
@ 2016-10-28  2:18 Simon Glass
  2016-10-28 18:59 ` Tom Rini
  0 siblings, 1 reply; 5+ messages in thread
From: Simon Glass @ 2016-10-28  2:18 UTC (permalink / raw)
  To: u-boot

Coverity complains that this can overflow. If we later increase the size
of one of the strings in the table, it could happen.

Adjust the code to protect against this.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reported-by: Coverity (CID: 150964)
---

Changes in v3:
- Adjust to deal with what strncpy() actually does (I think)

Changes in v2:
- Drop unwanted #include

 common/image.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/common/image.c b/common/image.c
index 0e86c13..016f263 100644
--- a/common/image.c
+++ b/common/image.c
@@ -588,9 +588,11 @@ const table_entry_t *get_table_entry(const table_entry_t *table, int id)
 static const char *unknown_msg(enum ih_category category)
 {
 	static char msg[30];
+	static char unknown_str = "Unknown ";
 
-	strcpy(msg, "Unknown ");
-	strcat(msg, table_info[category].desc);
+	strcpy(msg, unknown_str);
+	strncat(msg, table_info[category].desc,
+		sizeof(msg) - sizeof(unknown_str));
 
 	return msg;
 }
-- 
2.8.0.rc3.226.g39d4020

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-10-31 16:13 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-10-28  2:18 [U-Boot] [PATCH v3 2/2] image: Protect against overflow in unknown_msg() Simon Glass
2016-10-28 18:59 ` Tom Rini
2016-10-28 19:41   ` Simon Glass
2016-10-28 20:04     ` Tom Rini
2016-10-31 16:13       ` Simon Glass

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox