$OpenBSD: patch-Utilities_cmxmlrpc_xmlrpc_parse_c,v 1.1.1.1 2006/07/20 09:23:13 espie Exp $
--- Utilities/cmxmlrpc/xmlrpc_parse.c.orig	Tue Jul 18 11:06:02 2006
+++ Utilities/cmxmlrpc/xmlrpc_parse.c	Tue Jul 18 11:06:37 2006
@@ -579,6 +579,7 @@ xmlrpc_parse_call(xmlrpc_env *    const 
     size_t call_child_count;
     char * outMethodName;
     xmlrpc_value * outParamArrayP;
+    size_t sz;
 
     XMLRPC_ASSERT_ENV_OK(envP);
     XMLRPC_ASSERT(xml_data != NULL);
@@ -618,10 +619,11 @@ xmlrpc_parse_call(xmlrpc_env *    const 
     xmlrpc_validate_utf8(envP, cdata, strlen(cdata));
     XMLRPC_FAIL_IF_FAULT(envP);
 #endif /* HAVE_UNICODE_WCHAR */
-    outMethodName = malloc(strlen(cdata) + 1);
+    sz = strlen(cdata) + 1;
+    outMethodName = malloc(sz);
     XMLRPC_FAIL_IF_NULL(outMethodName, envP, XMLRPC_INTERNAL_ERROR,
                         "Could not allocate memory for method name");
-    strcpy(outMethodName, cdata);
+    strlcpy(outMethodName, cdata, sz);
     
     /* Convert our parameters. */
     if (call_child_count == 1) {
