]> granicus.if.org Git - python/commitdiff
Issue #21774: Fix incorrect variable in xml.dom.minidom
authorRaymond Hettinger <python@rcn.com>
Sun, 15 Jun 2014 21:48:19 +0000 (14:48 -0700)
committerRaymond Hettinger <python@rcn.com>
Sun, 15 Jun 2014 21:48:19 +0000 (14:48 -0700)
Lib/test/test_minidom.py
Lib/xml/dom/minidom.py
Misc/NEWS

index 5ab4bfe1a4f727b2e2349830adc0b0dbd66fd4b3..2489ff7649ff11e88e58b20d67e427455de37dcb 100644 (file)
@@ -1531,6 +1531,13 @@ class MinidomTest(unittest.TestCase):
         num_children_after = len(doc.childNodes)
         self.assertTrue(num_children_after == num_children_before - 1)
 
+    def testProcessingInstructionNameError(self):
+        # wrong variable in .nodeValue property will
+        # lead to "NameError: name 'data' is not defined"
+        doc = parse(tstfile)
+        pi = doc.createProcessingInstruction("y", "z")
+        pi.nodeValue = "crash"
+
 def test_main():
     run_unittest(MinidomTest)
 
index 6f716314647dc5a5b6567f7b0136801da5ee9037..c379a332e1d8767b8127d80a52965121fbcbe6fc 100644 (file)
@@ -976,7 +976,7 @@ class ProcessingInstruction(Childless, Node):
     def _get_nodeValue(self):
         return self.data
     def _set_nodeValue(self, value):
-        self.data = data
+        self.data = value
     nodeValue = property(_get_nodeValue, _set_nodeValue)
 
     # nodeName is an alias for target
index 66d9132c7b837504eae1118e902ac9a9e38f3cab..6d5c0a1599cc60220ece178e3d30395a93b616ec 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -26,6 +26,10 @@ Library
   run_forever() and run_until_complete() methods of asyncio.BaseEventLoop now
   raise an exception if the event loop was closed.
 
+- Issue #21774: Fixed NameError for an incorrect variable reference in the
+  XML Minidom code for creating processing instructions.
+  (Found and fixed by Claudiu Popa.)
+
 - Issue #21766: Prevent a security hole in CGIHTTPServer by URL unquoting paths
   before checking for a CGI script at that path.