diff options
author | Diego H <diego@symbioticeda.com> | 2019-12-12 13:40:05 -0600 |
---|---|---|
committer | Diego H <diego@symbioticeda.com> | 2019-12-12 13:40:05 -0600 |
commit | ab6ac8327f28b2ba9530c81cdbb5091a1ef91032 (patch) | |
tree | 9e2716d6d621eeeda85896b7b2993de517bb931a /frontends/ilang | |
parent | 3a5a65829cc593965304537ddcb4d6d1d3e3ca8b (diff) | |
parent | 2666482282421bb54213ba01054111eadc401373 (diff) | |
download | yosys-ab6ac8327f28b2ba9530c81cdbb5091a1ef91032.tar.gz yosys-ab6ac8327f28b2ba9530c81cdbb5091a1ef91032.tar.bz2 yosys-ab6ac8327f28b2ba9530c81cdbb5091a1ef91032.zip |
Merge https://github.com/YosysHQ/yosys into bram_xilinx
Diffstat (limited to 'frontends/ilang')
-rw-r--r-- | frontends/ilang/ilang_parser.y | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/frontends/ilang/ilang_parser.y b/frontends/ilang/ilang_parser.y index b4b9693da..4e0b62edd 100644 --- a/frontends/ilang/ilang_parser.y +++ b/frontends/ilang/ilang_parser.y @@ -430,10 +430,14 @@ sigspec: free($1); } | sigspec '[' TOK_INT ']' { + if ($3 >= $1->size() || $3 < 0) + rtlil_frontend_ilang_yyerror("bit index out of range"); $$ = new RTLIL::SigSpec($1->extract($3)); delete $1; } | sigspec '[' TOK_INT ':' TOK_INT ']' { + if ($3 >= $1->size() || $3 < 0 || $3 < $5) + rtlil_frontend_ilang_yyerror("invalid slice"); $$ = new RTLIL::SigSpec($1->extract($5, $3 - $5 + 1)); delete $1; } | |