Skip to content

Commit

Permalink
runmode: fix coverity warning
Browse files Browse the repository at this point in the history
CID 1619284:  Memory - illegal accesses  (OVERRUN)

In ParseAFXDPConfig, a pointer to bool is cast into a pointer
to int.

Also removing the cast pattern when useless
  • Loading branch information
catenacyber authored and victorjulien committed Sep 11, 2024
1 parent dc3c048 commit 31bed10
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 12 deletions.
16 changes: 8 additions & 8 deletions src/runmode-af-packet.c
Original file line number Diff line number Diff line change
Expand Up @@ -280,20 +280,20 @@ static void *ParseAFPConfig(const char *iface)
}
}

if (ConfGetChildValueBoolWithDefault(if_root, if_default, "use-mmap", (int *)&boolval) == 1) {
if (ConfGetChildValueBoolWithDefault(if_root, if_default, "use-mmap", &boolval) == 1) {
if (!boolval) {
SCLogWarning(
"%s: \"use-mmap\" option is obsolete: mmap is always enabled", aconf->iface);
}
}

(void)ConfGetChildValueBoolWithDefault(if_root, if_default, "mmap-locked", (int *)&boolval);
(void)ConfGetChildValueBoolWithDefault(if_root, if_default, "mmap-locked", &boolval);
if (boolval) {
SCLogConfig("%s: enabling locked memory for mmap", aconf->iface);
aconf->flags |= AFP_MMAP_LOCKED;
}

if (ConfGetChildValueBoolWithDefault(if_root, if_default, "tpacket-v3", (int *)&boolval) == 1) {
if (ConfGetChildValueBoolWithDefault(if_root, if_default, "tpacket-v3", &boolval) == 1) {
if (boolval) {
if (strcasecmp(RunmodeGetActive(), "workers") == 0) {
#ifdef HAVE_TPACKET_V3
Expand All @@ -314,8 +314,7 @@ static void *ParseAFPConfig(const char *iface)
}
}

(void)ConfGetChildValueBoolWithDefault(
if_root, if_default, "use-emergency-flush", (int *)&boolval);
(void)ConfGetChildValueBoolWithDefault(if_root, if_default, "use-emergency-flush", &boolval);
if (boolval) {
SCLogConfig("%s: using emergency ring flush", aconf->iface);
aconf->flags |= AFP_EMERGENCY_MODE;
Expand Down Expand Up @@ -428,7 +427,7 @@ static void *ParseAFPConfig(const char *iface)

#ifdef HAVE_PACKET_EBPF
boolval = false;
if (ConfGetChildValueBoolWithDefault(if_root, if_default, "pinned-maps", (int *)&boolval) == 1) {
if (ConfGetChildValueBoolWithDefault(if_root, if_default, "pinned-maps", &boolval) == 1) {
if (boolval) {
SCLogConfig("%s: using pinned maps", aconf->iface);
aconf->ebpf_t_config.flags |= EBPF_PINNED_MAPS;
Expand Down Expand Up @@ -544,7 +543,8 @@ static void *ParseAFPConfig(const char *iface)
}

boolval = true;
if (ConfGetChildValueBoolWithDefault(if_root, if_default, "use-percpu-hash", (int *)&boolval) == 1) {
if (ConfGetChildValueBoolWithDefault(if_root, if_default, "use-percpu-hash", &boolval) ==
1) {
if (boolval == false) {
SCLogConfig("%s: not using percpu hash", aconf->iface);
aconf->ebpf_t_config.cpus_count = 1;
Expand Down Expand Up @@ -621,7 +621,7 @@ static void *ParseAFPConfig(const char *iface)
aconf->block_timeout = 10;
}

(void)ConfGetChildValueBoolWithDefault(if_root, if_default, "disable-promisc", (int *)&boolval);
(void)ConfGetChildValueBoolWithDefault(if_root, if_default, "disable-promisc", &boolval);
if (boolval) {
SCLogConfig("%s: disabling promiscuous mode", aconf->iface);
aconf->promisc = 0;
Expand Down
4 changes: 2 additions & 2 deletions src/runmode-af-xdp.c
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ static void *ParseAFXDPConfig(const char *iface)
ConfNode *af_xdp_node = NULL;
int conf_val = 0;
intmax_t conf_val_int = 0;
bool boolval = false;
int boolval = 0;

if (iface == NULL) {
return NULL;
Expand Down Expand Up @@ -220,7 +220,7 @@ static void *ParseAFXDPConfig(const char *iface)
(void)SC_ATOMIC_ADD(aconf->ref, aconf->threads);

/* Promisc Mode */
(void)ConfGetChildValueBoolWithDefault(if_root, if_default, "disable-promisc", (int *)&boolval);
(void)ConfGetChildValueBoolWithDefault(if_root, if_default, "disable-promisc", &boolval);
if (boolval) {
SCLogConfig("Disabling promiscuous mode on iface %s", aconf->iface);
aconf->promisc = 0;
Expand Down
2 changes: 1 addition & 1 deletion src/runmode-netmap.c
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ static int ParseNetmapSettings(NetmapIfaceSettings *ns, const char *iface,
ConfSetBPFFilter(if_root, if_default, iface, &ns->bpf_filter);

int boolval = 0;
(void)ConfGetChildValueBoolWithDefault(if_root, if_default, "disable-promisc", (int *)&boolval);
(void)ConfGetChildValueBoolWithDefault(if_root, if_default, "disable-promisc", &boolval);
if (boolval) {
SCLogInfo("%s: disabling promiscuous mode", ns->iface);
ns->promisc = false;
Expand Down
2 changes: 1 addition & 1 deletion src/source-nfq.c
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,7 @@ void NFQInitConfig(bool quiet)
}
}

(void)ConfGetBool("nfq.fail-open", (int *)&boolval);
(void)ConfGetBool("nfq.fail-open", &boolval);
if (boolval) {
#ifdef HAVE_NFQ_SET_QUEUE_FLAGS
SCLogInfo("Enabling fail-open on queue");
Expand Down

0 comments on commit 31bed10

Please sign in to comment.