Browse Source

fix: check ext_str size when ext = zve*

`zve*`  = "zve{32, 64}{x, f, d}", size of `zve*` must be 6.

Signed-off-by: Hao <58808837+ha0lyu@users.noreply.github.com>
pull/2046/head
Hao 1 year ago
committed by GitHub
parent
commit
9950cb3d59
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 3
      disasm/isa_parser.cc

3
disasm/isa_parser.cc

@ -368,6 +368,9 @@ isa_parser_t::isa_parser_t(const char* str, const char *priv)
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") {
if (ext_str.size() != 6) {
bad_isa_string(str, ("Invalid Zve string: " + ext_str).c_str());
}
reg_t new_elen;
try {
new_elen = safe_stoul(ext_str.substr(3, ext_str.size() - 4));

Loading…
Cancel
Save