SdfWriter::write format_delay_ possible overflow

Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
James Cherry 2022-01-13 11:59:36 -07:00
parent 2befa8023a
commit 4e0d2d905e
2 changed files with 3 additions and 6 deletions

View File

@ -336,12 +336,10 @@ makeLibertyComplexAttr(const char *name,
group->addAttribute(attr); group->addAttribute(attr);
return attr; return attr;
} }
else { }
delete attr; delete attr;
return nullptr; return nullptr;
} }
}
}
} }
LibertyComplexAttr::LibertyComplexAttr(const char *name, LibertyComplexAttr::LibertyComplexAttr(const char *name,

View File

@ -164,8 +164,7 @@ SdfWriter::write(const char *filename,
sdf_divider_ = sdf_divider; sdf_divider_ = sdf_divider;
include_typ_ = include_typ; include_typ_ = include_typ;
if (delay_format_ == nullptr) if (delay_format_ == nullptr)
delay_format_ = new char[10]; delay_format_ = stringPrint("%%.%df", digits);
sprintf(delay_format_, "%%.%df", digits);
LibertyLibrary *default_lib = network_->defaultLibertyLibrary(); LibertyLibrary *default_lib = network_->defaultLibertyLibrary();
timescale_ = default_lib->units()->timeUnit()->scale(); timescale_ = default_lib->units()->timeUnit()->scale();