From 96716293f12633d599dd776b6537a7212ffe3ae9 Mon Sep 17 00:00:00 2001 From: Marcel Reichmuth Date: Tue, 22 Jun 2021 13:46:27 +0200 Subject: [PATCH] Fixes for problems identified in review of review * Handle case where no console should be used at all * Better handling of buffer length compiler warnings BugzId: 66150 --- board/nm/common/nbhw_env.c | 8 ++++++-- scripts/kconfig/confdata.c | 6 +++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/board/nm/common/nbhw_env.c b/board/nm/common/nbhw_env.c index c7982ea16e..5d68741129 100644 --- a/board/nm/common/nbhw_env.c +++ b/board/nm/common/nbhw_env.c @@ -29,12 +29,16 @@ void set_console(void) read_file_set_blk_dev("mmc", "0:3", FS_TYPE_EXT); len = get_file_size(consolefile); - if (len>=5) { - memset(buf, 0x00, sizeof(buf)); + memset(buf, 0x00, sizeof(buf)); + if (len>=4) { read_file(consolefile, buf, sizeof(buf)-1); if (strstr(buf, "ttyS") == buf && ( buf[4] == '0' || buf[4] == '1' )) { /* Use retrieved ttySx */ use_default_console = 0; + } else if (strstr(buf, "none")==buf) { + /* disable console */ + buf[0] = 0; + use_default_console = 0; } } diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c index c1e69792fd..ae12b5ac58 100644 --- a/scripts/kconfig/confdata.c +++ b/scripts/kconfig/confdata.c @@ -743,7 +743,7 @@ int conf_write(const char *name) struct menu *menu; const char *basename; const char *str; - char dirname[PATH_MAX+1], tmpname[PATH_MAX+14], newname[PATH_MAX+8]; + char dirname[PATH_MAX+1], tmpname[PATH_MAX+1], newname[PATH_MAX+1]; char *env; dirname[0] = 0; @@ -768,10 +768,10 @@ int conf_write(const char *name) } else basename = conf_get_configname(); - sprintf(newname, "%s%s", dirname, basename); + snprintf(newname, sizeof(newname), "%s%s", dirname, basename); env = getenv("KCONFIG_OVERWRITECONFIG"); if (!env || !*env) { - sprintf(tmpname, "%s.tmpconfig.%d", dirname, (int)getpid()); + snprintf(tmpname, sizeof(tmpname), "%s.tmpconfig.%d", dirname, (int)getpid()); out = fopen(tmpname, "w"); } else { *tmpname = 0;