osaf/tools/safimm/src/immutil.c | 11 ++++++-----
1 files changed, 6 insertions(+), 5 deletions(-)
Fix missing handle finalization in immutil_get_className() and
immutil_get_attrValueType() in immutil.c
diff --git a/osaf/tools/safimm/src/immutil.c b/osaf/tools/safimm/src/immutil.c
--- a/osaf/tools/safimm/src/immutil.c
+++ b/osaf/tools/safimm/src/immutil.c
@@ -509,16 +509,15 @@ SaAisErrorT immutil_update_one_rattr(SaI
SaImmClassNameT immutil_get_className(const SaNameT *objectName)
{
SaImmHandleT omHandle;
- SaImmClassNameT className;
+ SaImmClassNameT className = NULL;
SaImmAccessorHandleT accessorHandle;
SaImmAttrValuesT_2 **attributes;
SaImmAttrNameT attributeNames[] = { "SaImmAttrClassName", NULL };
(void)immutil_saImmOmInitialize(&omHandle, NULL, &immVersion);
(void)immutil_saImmOmAccessorInitialize(omHandle, &accessorHandle);
- if (immutil_saImmOmAccessorGet_2(accessorHandle, objectName,
attributeNames, &attributes) != SA_AIS_OK)
- return NULL;
- className = strdup(*((char **)attributes[0]->attrValues[0]));
+ if (immutil_saImmOmAccessorGet_2(accessorHandle, objectName,
attributeNames, &attributes) == SA_AIS_OK)
+ className = strdup(*((char **)attributes[0]->attrValues[0]));
(void)immutil_saImmOmAccessorFinalize(accessorHandle);
(void)immutil_saImmOmFinalize(omHandle);
@@ -538,7 +537,7 @@ SaAisErrorT immutil_get_attrValueType(co
(void)immutil_saImmOmInitialize(&omHandle, NULL, &immVersion);
if ((rc = saImmOmClassDescriptionGet_2(omHandle, className,
&classCategory, &attrDefinitions)) != SA_AIS_OK)
- return rc;
+ goto done;
rc = SA_AIS_ERR_INVALID_PARAM;
while ((attrDef = attrDefinitions[i++]) != NULL) {
@@ -550,6 +549,8 @@ SaAisErrorT immutil_get_attrValueType(co
}
(void)saImmOmClassDescriptionMemoryFree_2(omHandle, attrDefinitions);
+
+done:
(void)immutil_saImmOmFinalize(omHandle);
return rc;
}
------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel