mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-11 15:27:47 +00:00
nwfilter: address more coverity findings
This patch addresses the following coverity findings: /libvirt/src/conf/nwfilter_params.c:390: var_assigned: Assigning: "varValue" = null return value from "virHashLookup". /libvirt/src/conf/nwfilter_params.c:392: dereference: Dereferencing a pointer that might be null "varValue" when calling "virNWFilterVarValueGetNthValue". /libvirt/src/conf/nwfilter_params.c:399: dereference: Dereferencing a pointer that might be null "tmp" when calling "virNWFilterVarValueGetNthValue".
This commit is contained in:
parent
9c1ce3dc11
commit
42548fbf2a
@ -30,7 +30,7 @@
|
|||||||
#include "datatypes.h"
|
#include "datatypes.h"
|
||||||
#include "nwfilter_params.h"
|
#include "nwfilter_params.h"
|
||||||
#include "domain_conf.h"
|
#include "domain_conf.h"
|
||||||
|
#include "logging.h"
|
||||||
|
|
||||||
#define VIR_FROM_THIS VIR_FROM_NWFILTER
|
#define VIR_FROM_THIS VIR_FROM_NWFILTER
|
||||||
|
|
||||||
@ -391,14 +391,28 @@ virNWFilterVarCombIterEntryAreUniqueEntries(virNWFilterVarCombIterEntryPtr cie,
|
|||||||
const char *value;
|
const char *value;
|
||||||
|
|
||||||
varValue = virHashLookup(hash->hashTable, cie->varNames[0]);
|
varValue = virHashLookup(hash->hashTable, cie->varNames[0]);
|
||||||
|
if (!varValue) {
|
||||||
|
/* caller's error */
|
||||||
|
VIR_ERROR(_("hash lookup resulted in NULL pointer"));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
value = virNWFilterVarValueGetNthValue(varValue, cie->curValue);
|
value = virNWFilterVarValueGetNthValue(varValue, cie->curValue);
|
||||||
|
if (!value) {
|
||||||
|
VIR_ERROR(_("Lookup of value at index %u resulted in a NULL "
|
||||||
|
"pointer"), cie->curValue);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
for (i = 0; i < cie->curValue; i++) {
|
for (i = 0; i < cie->curValue; i++) {
|
||||||
if (STREQ(value, virNWFilterVarValueGetNthValue(varValue, i))) {
|
if (STREQ(value, virNWFilterVarValueGetNthValue(varValue, i))) {
|
||||||
bool isSame = true;
|
bool isSame = true;
|
||||||
for (j = 1; j < cie->nVarNames; j++) {
|
for (j = 1; j < cie->nVarNames; j++) {
|
||||||
tmp = virHashLookup(hash->hashTable, cie->varNames[j]);
|
tmp = virHashLookup(hash->hashTable, cie->varNames[j]);
|
||||||
|
if (!tmp) {
|
||||||
|
/* should never occur to step on a NULL here */
|
||||||
|
return true;
|
||||||
|
}
|
||||||
if (!STREQ(virNWFilterVarValueGetNthValue(tmp, cie->curValue),
|
if (!STREQ(virNWFilterVarValueGetNthValue(tmp, cie->curValue),
|
||||||
virNWFilterVarValueGetNthValue(tmp, i))) {
|
virNWFilterVarValueGetNthValue(tmp, i))) {
|
||||||
isSame = false;
|
isSame = false;
|
||||||
|
Loading…
Reference in New Issue
Block a user