summaryrefslogtreecommitdiff
path: root/ext/xmlrpc/xmlrpc-epi-php.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/xmlrpc/xmlrpc-epi-php.c')
-rw-r--r--ext/xmlrpc/xmlrpc-epi-php.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/ext/xmlrpc/xmlrpc-epi-php.c b/ext/xmlrpc/xmlrpc-epi-php.c
index 71aa6534ef..36fbff123c 100644
--- a/ext/xmlrpc/xmlrpc-epi-php.c
+++ b/ext/xmlrpc/xmlrpc-epi-php.c
@@ -328,7 +328,7 @@ static int add_string(zval* list, char* id, char* string) {
else return add_next_index_string(list, string);
}
-static int add_stringl(zval* list, char* id, char* string, uint length) {
+static int add_stringl(zval* list, char* id, char* string, uint32_t length) {
if(id) return add_assoc_stringl(list, id, string, length);
else return add_next_index_stringl(list, string, length);
}
@@ -701,7 +701,11 @@ PHP_FUNCTION(xmlrpc_encode_request)
outBuf = XMLRPC_REQUEST_ToXML(xRequest, 0);
if (outBuf) {
RETVAL_STRING(outBuf);
+#ifdef HAVE_XMLRPC_BUNDLED
+ efree(outBuf);
+#else
free(outBuf);
+#endif
}
XMLRPC_RequestFree(xRequest, 1);
}
@@ -735,7 +739,11 @@ PHP_FUNCTION(xmlrpc_encode)
if (xOut) {
if (outBuf) {
RETVAL_STRING(outBuf);
+#ifdef HAVE_XMLRPC_BUNDLED
+ efree(outBuf);
+#else
free(outBuf);
+#endif
}
/* cleanup */
XMLRPC_CleanupValue(xOut);
@@ -1102,7 +1110,11 @@ PHP_FUNCTION(xmlrpc_server_call_method)
outBuf = XMLRPC_REQUEST_ToXML(xResponse, &buf_len);
if (outBuf) {
RETVAL_STRINGL(outBuf, buf_len);
+#ifdef HAVE_XMLRPC_BUNDLED
+ efree(outBuf);
+#else
free(outBuf);
+#endif
}
/* cleanup after ourselves. what a sty! */
XMLRPC_RequestFree(xResponse, 0);