--- nono/util/sramedit/params.cpp 2026/04/29 17:04:55 1.1.1.1 +++ nono/util/sramedit/params.cpp 2026/04/29 17:05:16 1.1.1.2 @@ -252,13 +252,21 @@ w_bootdev(const sraminfo_t& si, const st warnx("%s='%s': bad SASI ID", si.name, input.c_str()); return -1; } + if (id < 0 || id > 16) { + warnx("%s='%s': out of range", si.name, input.c_str()); + return -1; + } newval = 0x8000 + (id << 8); } else if (starts_with_ignorecase(input, "fd")) { errno = 0; - start = input.c_str() + 4; + start = input.c_str() + 2; int id = strtoul(start, &end, 10); if (end == start || *end != '\0' || errno == ERANGE) { - warnx("%s='%s': bad SASI ID", si.name, input.c_str()); + warnx("%s='%s': bad unit number", si.name, input.c_str()); + return -1; + } + if (id < 0 || id > 4) { + warnx("%s='%s': out of range", si.name, input.c_str()); return -1; } newval = 0x9070 + (id << 8);