Index: includes/xmlrpc.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/xmlrpc.inc,v
retrieving revision 1.52
diff -u -r1.52 xmlrpc.inc
--- includes/xmlrpc.inc	8 Aug 2008 20:00:09 -0000	1.52
+++ includes/xmlrpc.inc	28 Aug 2008 03:50:13 -0000
@@ -157,8 +157,6 @@
  *   TRUE if parsing succeeded; FALSE otherwise
  */
 function xmlrpc_message_parse(&$xmlrpc_message) {
-  // First remove the XML declaration
-  $xmlrpc_message->message = preg_replace('/<\?xml(.*)?\?' . '>/', '', $xmlrpc_message->message);
   if (trim($xmlrpc_message->message) == '') {
     return FALSE;
   }
@@ -175,7 +173,10 @@
   xml_parser_free($xmlrpc_message->_parser);
   // Grab the error messages, if any
   $xmlrpc_message = xmlrpc_message_get();
-  if ($xmlrpc_message->messagetype == 'fault') {
+  if (!isset($xmlrpc_message->messagetype)) {
+    return FALSE;
+  }
+  else if ($xmlrpc_message->messagetype == 'fault') {
     $xmlrpc_message->fault_code = $xmlrpc_message->params[0]['faultCode'];
     $xmlrpc_message->fault_string = $xmlrpc_message->params[0]['faultString'];
   }
