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
This commit is contained in:
Marcel Reichmuth 2021-06-22 13:46:27 +02:00
parent 2e581d5211
commit 96716293f1
2 changed files with 9 additions and 5 deletions

View File

@ -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;
}
}

View File

@ -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;