if (has_managed_reports(*h)) {
assert(rm);
- remapReportsToPrograms(*h, *rm);
+ remapReportsToPrograms(*h, *rm); //NOLINT (clang-analyzer-core.NonNullParamChecker)
}
if (!cc.streaming || !cc.grey.compressNFAState) {
lasts.emplace_back(startState);
lasts.emplace_back(startDotstarState);
firsts.emplace_back(startDotstarState);
- connectRegions(lasts, firsts);
+ connectRegions(lasts, firsts); //NOLINT (cplusplus.VirtualCall)
// accept to acceptEod edges already wired
Position fakedot = builder.makePositions(1);
builder.addCharReach(fakedot, CharReach(0x00, 0xff));
builder.setNodeReportID(fakedot, -1);
- addSuccessor(fakedot, acceptState);
+ addSuccessor(fakedot, acceptState); //NOLINT (cplusplus.VirtualCall)
*accept = fakedot;
} else {
// We might lead to accept via an assertion vertex, so we add the
assert(ISALIGNED_CL(current));
s->fullState = (char *)current;
s->fullStateSize = fullStateSize;
- current += fullStateSize;
+ current += fullStateSize; //NOLINT (clang-analyzer-deadcode.DeadStores)
*scratch = s;
/** \brief Specialisation of \ref mmbit_set for flat models. */
static really_inline
char mmbit_set_flat(u8 *bits, u32 total_bits, u32 key) {
+ assert(bits);
bits += mmbit_flat_select_byte(key, total_bits);
u8 mask = 1U << (key % 8);
- char was_set = !!(*bits & mask);
+ char was_set = !!(*bits & mask); //NOLINT (clang-analyzer-core.NullDereference)
*bits |= mask;
return was_set;
}
static really_inline
void partial_store_u32(void *ptr, u32 value, u32 numBytes) {
+ assert(ptr);
assert(numBytes <= 4);
switch (numBytes) {
case 4:
static really_inline
u32 partial_load_u32(const void *ptr, u32 numBytes) {
u32 value;
+ assert(ptr);
assert(numBytes <= 4);
switch (numBytes) {
case 4:
static really_inline
void partial_store_u64a(void *ptr, u64a value, u32 numBytes) {
+ assert(ptr);
assert(numBytes <= 8);
switch (numBytes) {
case 8:
static really_inline
u64a partial_load_u64a(const void *ptr, u32 numBytes) {
u64a value;
+ assert(ptr);
assert(numBytes <= 8);
switch (numBytes) {
case 8:
/// Perform an unaligned 16-bit load
static really_inline
u16 unaligned_load_u16(const void *ptr) {
+ assert(ptr);
struct unaligned { u16 u; } PACKED__MAY_ALIAS;
// cppcheck-suppress cstyleCast
const struct unaligned *uptr = (const struct unaligned *)ptr;
- return uptr->u;
+ return uptr->u; //NOLINT (clang-analyzer-core.NullDereference)
}
/// Perform an unaligned 32-bit load
static really_inline
u32 unaligned_load_u32(const void *ptr) {
+ assert(ptr);
struct unaligned { u32 u; } PACKED__MAY_ALIAS;
// cppcheck-suppress cstyleCast
const struct unaligned *uptr = (const struct unaligned *)ptr;
- return uptr->u;
+ return uptr->u; //NOLINT (clang-analyzer-core.NullDereference)
}
/// Perform an unaligned 64-bit load
static really_inline
u64a unaligned_load_u64a(const void *ptr) {
- if (ptr == NULL) {
- return 0; // Return a default value
- }
+ assert(ptr);
struct unaligned { u64a u; } PACKED__MAY_ALIAS;
// cppcheck-suppress cstyleCast
const struct unaligned *uptr = (const struct unaligned *)ptr;
- return uptr->u;
+ return uptr->u; //NOLINT (clang-analyzer-core.uninitialized.UndefReturn)
}
/// Perform an unaligned 16-bit store
static really_inline
void unaligned_store_u16(void *ptr, u16 val) {
+ assert(ptr);
struct unaligned { u16 u; } PACKED__MAY_ALIAS;
// cppcheck-suppress cstyleCast
struct unaligned *uptr = (struct unaligned *)ptr;
/// Perform an unaligned 32-bit store
static really_inline
void unaligned_store_u32(void *ptr, u32 val) {
+ assert(ptr);
struct unaligned { u32 u; } PACKED__MAY_ALIAS;
// cppcheck-suppress cstyleCast
struct unaligned *uptr = (struct unaligned *)ptr;
/// Perform an unaligned 64-bit store
static really_inline
void unaligned_store_u64a(void *ptr, u64a val) {
+ assert(ptr);
struct unaligned { u64a u; } PACKED__MAY_ALIAS;
// cppcheck-suppress cstyleCast
struct unaligned *uptr = (struct unaligned *)ptr;
ostringstream err;
err << "Unable to open database '" << filename << "': "
<< sqlite3_errmsg(db);
- status = sqlite3_close(db);
+ status = sqlite3_close(db); //NOLINT (clang-analyzer-deadcode.DeadStores)
assert(status == SQLITE_OK);
throw DataCorpusError(err.str());
}
status = sqlite3_prepare_v2(db, query.c_str(), query.size(), &statement,
nullptr);
if (status != SQLITE_OK) {
- status = sqlite3_finalize(statement);
+ status = sqlite3_finalize(statement); //NOLINT (clang-analyzer-deadcode.DeadStores)
assert(status == SQLITE_OK);
- status = sqlite3_close(db);
+ status = sqlite3_close(db); //NOLINT (clang-analyzer-deadcode.DeadStores)
assert(status == SQLITE_OK);
ostringstream oss;
oss << "Error retrieving blocks from corpus: "
<< sqlite3_errmsg(db);
- status = sqlite3_finalize(statement);
+ status = sqlite3_finalize(statement); //NOLINT (clang-analyzer-deadcode.DeadStores)
assert(status == SQLITE_OK);
- status = sqlite3_close(db);
+ status = sqlite3_close(db); //NOLINT (clang-analyzer-deadcode.DeadStores)
assert(status == SQLITE_OK);
throw DataCorpusError(oss.str());
}
- status = sqlite3_finalize(statement);
+ status = sqlite3_finalize(statement); //NOLINT (clang-analyzer-deadcode.DeadStores)
assert(status == SQLITE_OK);
- status = sqlite3_close(db);
+ status = sqlite3_close(db); //NOLINT (clang-analyzer-deadcode.DeadStores)
assert(status == SQLITE_OK);
if (blocks.empty()) {
#endif
;
int in_sigfile = 0;
- int do_per_scan = 0;
- int do_compress = 0;
+ static int do_per_scan = 0;
+ static int do_compress = 0;
int do_compress_size = 0;
- int do_echo_matches = 0;
- int do_sql_output = 0;
+ static int do_echo_matches = 0;
+ static int do_sql_output = 0;
int option_index = 0;
- int literalFlag = 0;
+ static int literalFlag = 0;
vector<string> sigFiles;
static struct option longopts[] = {
ostringstream oss;
oss << "Unable to open database '" << filename
<< "': " << sqlite3_errmsg(db);
- status = sqlite3_close(db);
+ status = sqlite3_close(db); //NOLINT (clang-analyzer-deadcode.DeadStores)
assert(status == SQLITE_OK);
throw SqlFailure(oss.str());
}
fail:
ostringstream oss;
oss << "Unable to create tables: " << sqlite3_errmsg(db);
- status = sqlite3_close(db);
+ status = sqlite3_close(db); //NOLINT (clang-analyzer-deadcode.DeadStores)
assert(status == SQLITE_OK);
throw SqlFailure(oss.str());
}
void processArgs(int argc, char *argv[], UNUSED const unique_ptr<Grey> &grey) {
const char options[] = "e:E:s:z:hHLNV8G:T:BC";
bool signatureSet = false;
- int literalFlag = 0;
+ static int literalFlag = 0;
static struct option longopts[] = {
{"literal-on", no_argument, &literalFlag, 1},