diff options
author | Cliff L. Biffle <code@cliffle.com> | 2017-05-09 08:06:43 -0700 |
---|---|---|
committer | Cliff L. Biffle <code@cliffle.com> | 2017-05-09 08:06:43 -0700 |
commit | e787fa2d3013365f20a062577254276263482aae (patch) | |
tree | 4ee5e8459b492b43d700d78a0a2cb9688427eb48 /icefuzz/cached_ramt.txt | |
parent | 0f64fdf573f098a98c178bb1b64571b577d5aa33 (diff) | |
download | icestorm-e787fa2d3013365f20a062577254276263482aae.tar.gz icestorm-e787fa2d3013365f20a062577254276263482aae.tar.bz2 icestorm-e787fa2d3013365f20a062577254276263482aae.zip |
icetime: never silently truncate asc file lines
icetime was reading the asc configuration file using a 128-byte line
buffer -- which is usually fine, but can cause it to truncate the names
of nets given in .sym lines if those names are very, very long. The way
fgets was being used meant this went undetected.
Long net names like this can arise in deeply hierarchical designs,
particularly if there's a code generator involved.
This change:
1. Increases the buffer size to 64kiB.
2. Adds a truncation check that causes icetime to fail.
A more robust solution would manage the line buffer on the heap, since
the symbol gets copied into a std::string anyway, but this is a
workaround for now.
Diffstat (limited to 'icefuzz/cached_ramt.txt')
0 files changed, 0 insertions, 0 deletions