On 04/26/2012 01:46 PM, Stefan Berger wrote:
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".
---
src/conf/nwfilter_params.c | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
Nice to have tools that help us catch bugs.
@@ -391,14 +391,28 @@ virNWFilterVarCombIterEntryAreUniqueEntr
const char *value;
varValue = virHashLookup(hash->hashTable, cie->varNames[0]);
+ if (!varValue) {
+ /* caller's error */
+ VIR_ERROR(_("%s: hash lookup resulted in NULL pointer"),
__func__);
VIR_ERROR already appends __func__ to the resulting message. This
should be:
VIR_ERROR("%s", _("hash lookup resulted in NULL pointer"));
value = virNWFilterVarValueGetNthValue(varValue, cie->curValue);
+ if (!value) {
+ VIR_ERROR(_("%s: Lookup of value at index %u resulted in a NULL "
+ "pointer"), __func__, cie->curValue);
And again, this should be:
VIR_ERROR(_("Lookup of value at index %u resulted in a NULL pointer"),
cie->curValue);
ACK with those fixes; I'm okay if you push without posting a v2.
--
Eric Blake eblake(a)redhat.com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org