From 8c43f4f628a020c2b1dc899bfae8e3cc45cc0832 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Thu, 6 Mar 2014 14:13:22 +0000 Subject: [PATCH] Fixed: theoretical error while skipping whitespace in XML plists. This fix ensures the PLIST_FIRST_CHILD() code gets to run both statements in the XML parsing while loop. There's no obvious way to trigger an error due to this bug, but better correct than wrong. Refs #2051. --- Objective-J/CFPropertyList.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Objective-J/CFPropertyList.js b/Objective-J/CFPropertyList.js index 00174387c..7dd16cc4c 100644 --- a/Objective-J/CFPropertyList.js +++ b/Objective-J/CFPropertyList.js @@ -320,8 +320,8 @@ var XML_XML = "xml", #define IS_WHITESPACE(anXMLNode) (NODE_TYPE(anXMLNode) === 8 || NODE_TYPE(anXMLNode) === 3) #define IS_DOCUMENTTYPE(anXMLNode) (NODE_TYPE(anXMLNode) === 10) -#define PLIST_NEXT_SIBLING(anXMLNode) while ((anXMLNode = NEXT_SIBLING(anXMLNode)) && IS_WHITESPACE(anXMLNode)) ; -#define PLIST_FIRST_CHILD(anXMLNode) anXMLNode = FIRST_CHILD(anXMLNode); if (anXMLNode !== NULL && IS_WHITESPACE(anXMLNode)) PLIST_NEXT_SIBLING(anXMLNode) +#define PLIST_NEXT_SIBLING(anXMLNode) while ((anXMLNode = NEXT_SIBLING(anXMLNode)) && IS_WHITESPACE(anXMLNode)); +#define PLIST_FIRST_CHILD(anXMLNode) { anXMLNode = FIRST_CHILD(anXMLNode); if (anXMLNode !== NULL && IS_WHITESPACE(anXMLNode)) PLIST_NEXT_SIBLING(anXMLNode) } var textContent = function(nodes) {