With SaAnyT value, imm import passed wrong memory pointer to free(). --- src/imm/tools/imm_import.cc | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-)
diff --git a/src/imm/tools/imm_import.cc b/src/imm/tools/imm_import.cc index ba5023b17..32a3f5424 100644 --- a/src/imm/tools/imm_import.cc +++ b/src/imm/tools/imm_import.cc @@ -345,13 +345,7 @@ static void free_parserState(ParserState *state) { for (it = state->attrValues.begin(); it != state->attrValues.end(); ++it) { free(it->attrName); for (i = 0; it->attrValues[i]; i++) { - if (it->attrValueType == SA_IMM_ATTR_SASTRINGT || - it->attrValueType == SA_IMM_ATTR_SAANYT) { - free(*(void **)(it->attrValues[i])); - } else if (it->attrValueType == SA_IMM_ATTR_SANAMET) { - osaf_extended_name_free((SaNameT *)it->attrValues[i]); - } - free(it->attrValues[i]); + free_attr_value(it->attrValueType, it->attrValues[i]); } free(it->attrValues); } @@ -833,13 +827,7 @@ done: for (it = state->attrValues.begin(); it != state->attrValues.end(); ++it) { free(it->attrName); for (i = 0; it->attrValues[i]; i++) { - if (it->attrValueType == SA_IMM_ATTR_SASTRINGT || - it->attrValueType == SA_IMM_ATTR_SAANYT) { - free(*(void **)(it->attrValues[i])); - } else if (it->attrValueType == SA_IMM_ATTR_SANAMET) { - osaf_extended_name_free((SaNameT *)it->attrValues[i]); - } - free(it->attrValues[i]); + free_attr_value(it->attrValueType, it->attrValues[i]); } free(it->attrValues); } -- 2.19.2 _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel