diff options
author | Miodrag Milanovic <mmicko@gmail.com> | 2023-01-17 12:58:08 +0100 |
---|---|---|
committer | Miodrag Milanovic <mmicko@gmail.com> | 2023-01-17 12:58:08 +0100 |
commit | 6574553189fb6ccb5d00a0c043671a625672b3d3 (patch) | |
tree | 57e3212ee75493d9f4939c9f9029b95880367a76 /kernel | |
parent | 956c4e485a9463863f60c4dd03372db3fa8332a4 (diff) | |
download | yosys-6574553189fb6ccb5d00a0c043671a625672b3d3.tar.gz yosys-6574553189fb6ccb5d00a0c043671a625672b3d3.tar.bz2 yosys-6574553189fb6ccb5d00a0c043671a625672b3d3.zip |
Fixes for some of clang scan-build detected issues
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/fstdata.cc | 2 | ||||
-rw-r--r-- | kernel/register.cc | 7 | ||||
-rw-r--r-- | kernel/yosys.cc | 4 |
3 files changed, 7 insertions, 6 deletions
diff --git a/kernel/fstdata.cc b/kernel/fstdata.cc index 1b8043f9a..65ae3426c 100644 --- a/kernel/fstdata.cc +++ b/kernel/fstdata.cc @@ -197,7 +197,7 @@ static void reconstruct_clb_attimes(void *user_data, uint64_t pnt_time, fstHandl void FstData::reconstruct_callback_attimes(uint64_t pnt_time, fstHandle pnt_facidx, const unsigned char *pnt_value, uint32_t /* plen */) { - if (pnt_time > end_time) return; + if (pnt_time > end_time || !pnt_value) return; // if we are past the timestamp bool is_clock = false; if (!all_samples) { diff --git a/kernel/register.cc b/kernel/register.cc index 0e4d503be..9ffb17c1a 100644 --- a/kernel/register.cc +++ b/kernel/register.cc @@ -531,10 +531,11 @@ void Frontend::extra_args(std::istream *&f, std::string &filename, std::vector<s std::ifstream *ff = new std::ifstream; ff->open(filename.c_str(), bin_input ? std::ifstream::binary : std::ifstream::in); yosys_input_files.insert(filename); - if (ff->fail()) + if (ff->fail()) { delete ff; - else - f = ff; + ff = nullptr; + } + f = ff; if (f != NULL) { // Check for gzip magic unsigned char magic[3]; diff --git a/kernel/yosys.cc b/kernel/yosys.cc index 333faae6a..bd8dded4b 100644 --- a/kernel/yosys.cc +++ b/kernel/yosys.cc @@ -469,8 +469,8 @@ std::string make_temp_dir(std::string template_str) # endif char *p = strdup(template_str.c_str()); - p = mkdtemp(p); - log_assert(p != NULL); + char *res = mkdtemp(p); + log_assert(res != NULL); template_str = p; free(p); |