summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/relationship.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/relationship.c b/src/relationship.c
index f301ed7b..e510d4b6 100644
--- a/src/relationship.c
+++ b/src/relationship.c
@@ -232,6 +232,7 @@ xmlSecRelationshipReadNode(xmlSecTransformPtr transform, xmlNodePtr node, xmlSec
"xmlStrdup",
XMLSEC_ERRORS_R_STRDUP_FAILED,
"len=%d", xmlStrlen(sourceId));
+ xmlFree(sourceId);
return(-1);
}
@@ -242,9 +243,12 @@ xmlSecRelationshipReadNode(xmlSecTransformPtr transform, xmlNodePtr node, xmlSec
"xmlSecPtrListAdd",
XMLSEC_ERRORS_R_XMLSEC_FAILED,
XMLSEC_ERRORS_NO_MESSAGE);
+ xmlFree(sourceId);
xmlFree(tmp);
return(-1);
}
+ xmlFree(sourceId);
+ xmlFree(tmp);
}
cur = cur->next;
@@ -258,6 +262,7 @@ static int
xmlSecTransformRelationshipCompare(xmlNodePtr node1, xmlNodePtr node2) {
xmlChar* id1;
xmlChar* id2;
+ int ret;
if(node1 == node2) {
return(0);
@@ -275,10 +280,15 @@ xmlSecTransformRelationshipCompare(xmlNodePtr node1, xmlNodePtr node2) {
return(-1);
}
if(id2 == NULL) {
+ xmlFree(id1);
return(1);
}
- return(xmlStrcmp(id1, id2));
+ ret = xmlStrcmp(id1, id2);
+ xmlFree(id1);
+ xmlFree(id2);
+
+ return(ret);
}
/**
@@ -316,8 +326,10 @@ xmlSecTransformRelationshipProcessNode(xmlSecTransformPtr transform, xmlOutputBu
}
if(found < 0) {
+ xmlFree(id);
return(0);
}
+ xmlFree(id);
}
ret = xmlSecTransformRelationshipProcessElementNode(transform, buf, cur);
@@ -523,7 +535,7 @@ xmlSecTransformRelationshipProcessElementNode(xmlSecTransformPtr transform, xmlO
* This is step 3, point 6: add default value of TargetMode if there is no such attribute.
*/
for(attr = cur->properties; attr != NULL; attr = attr->next) {
- xmlChar * value = xmlGetProp(cur, attr->name);
+ xmlChar* value = xmlGetProp(cur, attr->name);
if(xmlStrcmp(attr->name, xmlSecRelationshipAttrTargetMode) == 0) {
foundTargetMode = 1;
@@ -536,8 +548,10 @@ xmlSecTransformRelationshipProcessElementNode(xmlSecTransformPtr transform, xmlO
"xmlSecTransformRelationshipWriteProp",
XMLSEC_ERRORS_R_XMLSEC_FAILED,
XMLSEC_ERRORS_NO_MESSAGE);
+ xmlFree(value);
return(-1);
}
+ xmlFree(value);
}
/* write TargetMode */