aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Waterman <andrew@sifive.com>2024-09-20 04:18:17 -0700
committerGitHub <noreply@github.com>2024-09-20 04:18:17 -0700
commit19fdd76e056dcfd041901ce9b8e0031944de7209 (patch)
tree67dfaee6eaaa66f4f477be4720e2f46202045e26
parent52aff0233f5cc844ea047b4e16806f576cd8815b (diff)
parent6b74bd669dd596ddd1bc7ed611441278c3b0b1ec (diff)
downloadriscv-isa-sim-19fdd76e056dcfd041901ce9b8e0031944de7209.zip
riscv-isa-sim-19fdd76e056dcfd041901ce9b8e0031944de7209.tar.gz
riscv-isa-sim-19fdd76e056dcfd041901ce9b8e0031944de7209.tar.bz2
Merge pull request #1811 from riscv-software-src/fix-1810
Validate Zvl ISA string correctly
-rw-r--r--disasm/isa_parser.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/disasm/isa_parser.cc b/disasm/isa_parser.cc
index 95ef8fb..1c0a0c4 100644
--- a/disasm/isa_parser.cc
+++ b/disasm/isa_parser.cc
@@ -331,7 +331,7 @@ isa_parser_t::isa_parser_t(const char* str, const char *priv)
} catch (std::logic_error& e) {
new_vlen = 0;
}
- if ((new_vlen & (new_vlen - 1)) != 0 || new_vlen < 32)
+ if ((new_vlen & (new_vlen - 1)) != 0 || new_vlen < 32 || ext_str.back() != 'b')
bad_isa_string(str, ("Invalid Zvl string: " + ext_str).c_str());
vlen = std::max(vlen, new_vlen);
} else if (ext_str.substr(0, 3) == "zve") {