summaryrefslogtreecommitdiff
path: root/src/xpath.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/xpath.c')
-rw-r--r--src/xpath.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/xpath.c b/src/xpath.c
index 8b0cf799..2419f133 100644
--- a/src/xpath.c
+++ b/src/xpath.c
@@ -605,8 +605,9 @@ xmlSecTransformXPathNodeRead(xmlSecTransformPtr transform, xmlNodePtr node, xmlS
/* create full XPath expression */
xmlSecAssert2(data->expr != NULL, -1);
- tmp = (xmlChar*) xmlMalloc(sizeof(xmlChar) * (xmlStrlen(data->expr) +
- strlen(xpathPattern) + 1));
+ size_t tmpSize = sizeof(xmlChar) * (xmlStrlen(data->expr) +
+ strlen(xpathPattern) + 1);
+ tmp = (xmlChar*) xmlMalloc(tmpSize);
if(tmp == NULL) {
xmlSecError(XMLSEC_ERRORS_HERE,
xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
@@ -616,7 +617,7 @@ xmlSecTransformXPathNodeRead(xmlSecTransformPtr transform, xmlNodePtr node, xmlS
(int)(xmlStrlen(data->expr) + strlen(xpathPattern) + 1));
return(-1);
}
- sprintf((char*)tmp, xpathPattern, (char*)data->expr);
+ snprintf((char*)tmp, tmpSize, xpathPattern, (char*)data->expr);
xmlFree(data->expr);
data->expr = tmp;