1097 inst_list_init(&list);
1098
(1) Event check_return:
Calling function "res_type_from_rasd_classname(char const *, uint16_t *)"
without checking return value (as is done elsewhere 11 out of 12 times).
(7) Event unchecked_value:
No check of the return value of "res_type_from_rasd_classname(
(char *)(*ref->ft->getClassName)(ref, NULL)->hdl, &type)".
1099 res_type_from_rasd_classname(CLASSNAME(ref), &type);
Resolve by checking return vs. CMPI_RC_OK, setting error, and returning
---
src/Virt_RASD.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/Virt_RASD.c b/src/Virt_RASD.c
index 6e8a244..ad1a2e7 100644
--- a/src/Virt_RASD.c
+++ b/src/Virt_RASD.c
@@ -1096,7 +1096,12 @@ static CMPIStatus return_enum_rasds(const CMPIObjectPath *ref,
inst_list_init(&list);
- res_type_from_rasd_classname(CLASSNAME(ref), &type);
+ if (res_type_from_rasd_classname(CLASSNAME(ref), &type) != CMPI_RC_OK) {
+ cu_statusf(_BROKER, &s,
+ CMPI_RC_ERR_FAILED,
+ "Unable to determine RASD type");
+ goto out;
+ }
s = enum_rasds(_BROKER, ref, NULL,
type, properties, &list);
--
1.8.1.4