klocwork: fix risk issues

This commit is contained in:
Hong, Yang A
2022-05-31 06:30:18 +00:00
committed by Konstantinos Margaritis
parent 75dbedeebe
commit 978105a4c0
15 changed files with 61 additions and 10 deletions

View File

@@ -58,7 +58,10 @@ void readRow(sqlite3_stmt *statement, vector<DataBlock> &blocks,
}
auto internal_stream_index = stream_indices[stream_id];
assert(blob || bytes > 0);
if (!(blob && bytes > 0)) {
assert(0);
throw std::domain_error("Invalid blob or bytes from sqlite3.");
}
blocks.emplace_back(id, stream_id, internal_stream_index,
string(blob, blob + bytes));
}

View File

@@ -740,6 +740,11 @@ u64a byte_size(const vector<DataBlock> &corpus_blocks) {
total += block.payload.size();
}
if (total == 0) {
assert(0);
throw std::invalid_argument("Empty corpus.");
}
return total;
}

View File

@@ -61,7 +61,7 @@ public:
std::lock_guard<std::mutex> lock(mutex);
if (failed) {
// We have previously failed to compile this database.
return nullptr;
throw CompileFailed("Unable to compile db previously.");
}
if (db) {
return db;

View File

@@ -101,7 +101,7 @@ void NfaGeneratedCorpora::generate(unsigned id, vector<Corpus> &data) {
pl.logicalKeyRenumber();
const auto &m_lkey = pl.getLkeyMap();
assert(!m_lkey.empty());
u32 a_subid; // arbitrary sub id
u32 a_subid = 0; // arbitrary sub id
unordered_map<u32, vector<Corpus>> m_data;
for (const auto &it : m_lkey) {
a_subid = it.first;

View File

@@ -98,6 +98,6 @@ void *Thread::runThread(void *thr) {
}
Thread::Thread(size_t num) : thread_id(num) {}
Thread::Thread(size_t num) : thread_id(num), thread() {}
Thread::~Thread() {}