diff -r 2dde35b02026 MoinMoin/_tests/test_rpc.py
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MoinMoin/_tests/test_rpc.py	Wed Nov 28 22:47:27 2007 +0100
@@ -0,0 +1,36 @@
+# -*- coding: utf-8 -*-
+"""
+    MoinMoin - rpc interface tests
+
+    @copyright: 2007 by MoinMoin:JonasWagner
+    @license: GNU GPL, see COPYING for details.
+"""
+
+
+import time
+import xmlrpclib
+
+import py
+
+from MoinMoin import xmlrpc
+
+
+class TestPutPage(object):
+    """A unittest for the putpage method of the moin rpc interface"""
+
+    def test_put_empty_page_content(self):
+        interface = xmlrpc.XmlRpc2(self.request)
+        assert isinstance(interface.xmlrpc_putPage("Test", ""),
+                xmlrpclib.Fault)
+
+    def test_put_empty_page_name(self):
+        interface = xmlrpc.XmlRpc2(self.request)
+        assert isinstance(interface.xmlrpc_putPage("", "Test"),
+                xmlrpclib.Fault)
+
+    def test_put_page(self):
+        interface = xmlrpc.XmlRpc2(self.request)
+        # time.time is used to make shure the content is changed every time
+        assert not isinstance(interface.xmlrpc_putPage("Test",
+            str(time.time())), xmlrpclib.Fault)
+
diff -r 2dde35b02026 MoinMoin/xmlrpc/__init__.py
--- a/MoinMoin/xmlrpc/__init__.py	Wed Nov 28 10:43:48 2007 +0100
+++ b/MoinMoin/xmlrpc/__init__.py	Wed Nov 28 22:47:27 2007 +0100
@@ -517,6 +517,9 @@ class XmlRpcBase:
 
         pagename = self._instr(pagename)
 
+        if not pagename:
+            return xmlrpclib.Fault("INVALID", "pagename can't be empty")
+
         # check ACLs
         if not self.request.user.may.write(pagename):
             return xmlrpclib.Fault(1, "You are not allowed to edit this page")
