You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by am...@apache.org on 2007/03/08 19:26:39 UTC

svn commit: r516131 - in /xerces/c/branches/xerces-2.7/src/xercesc: NLS/EN_US/ util/MsgLoaders/ICU/resources/ util/MsgLoaders/InMemory/ util/MsgLoaders/MsgCatalog/ util/Platforms/Win32/ validators/schema/identity/

Author: amassari
Date: Thu Mar  8 10:26:37 2007
New Revision: 516131

URL: http://svn.apache.org/viewvc?view=rev&rev=516131
Log:
Fixed infinite loop when an XPath expression contained an unexpected character (XERCESC-1682)

Modified:
    xerces/c/branches/xerces-2.7/src/xercesc/NLS/EN_US/XMLErrList_EN_US.Xml
    xerces/c/branches/xerces-2.7/src/xercesc/util/MsgLoaders/ICU/resources/en_US.txt
    xerces/c/branches/xerces-2.7/src/xercesc/util/MsgLoaders/InMemory/XercesMessages_en_US.hpp
    xerces/c/branches/xerces-2.7/src/xercesc/util/MsgLoaders/MsgCatalog/XercesMessages_en_US.Msg
    xerces/c/branches/xerces-2.7/src/xercesc/util/Platforms/Win32/Version.rc
    xerces/c/branches/xerces-2.7/src/xercesc/validators/schema/identity/XercesXPath.cpp

Modified: xerces/c/branches/xerces-2.7/src/xercesc/NLS/EN_US/XMLErrList_EN_US.Xml
URL: http://svn.apache.org/viewvc/xerces/c/branches/xerces-2.7/src/xercesc/NLS/EN_US/XMLErrList_EN_US.Xml?view=diff&rev=516131&r1=516130&r2=516131
==============================================================================
--- xerces/c/branches/xerces-2.7/src/xercesc/NLS/EN_US/XMLErrList_EN_US.Xml (original)
+++ xerces/c/branches/xerces-2.7/src/xercesc/NLS/EN_US/XMLErrList_EN_US.Xml Thu Mar  8 10:26:37 2007
@@ -754,7 +754,7 @@
             <Message Id="XPath_NoSelectionOfRoot" Text="Not allowed to select the root of an xpath"/>
             <Message Id="XPath_EmptyExpr" Text="Empty xpath expression"/>
             <Message Id="XPath_NoUnionAtEnd" Text="The xpath expression cannot end with '|'"/>
-            <Message Id="XPath_InvalidChar" Text="Invalid character following '.' in xpath"/>
+            <Message Id="XPath_InvalidChar" Text="Invalid character '{0}' in xpath"/>
             <Message Id="XPath_TokenNotSupported" Text="XPath token not supported"/>
             <Message Id="XPath_FindSolution" Text="Find a solution!"/>
             <Message Id="DateTime_Assert_Buffer_Fail" Text="buffer not initialized yet!"/>

Modified: xerces/c/branches/xerces-2.7/src/xercesc/util/MsgLoaders/ICU/resources/en_US.txt
URL: http://svn.apache.org/viewvc/xerces/c/branches/xerces-2.7/src/xercesc/util/MsgLoaders/ICU/resources/en_US.txt?view=diff&rev=516131&r1=516130&r2=516131
==============================================================================
--- xerces/c/branches/xerces-2.7/src/xercesc/util/MsgLoaders/ICU/resources/en_US.txt (original)
+++ xerces/c/branches/xerces-2.7/src/xercesc/util/MsgLoaders/ICU/resources/en_US.txt Thu Mar  8 10:26:37 2007
@@ -755,7 +755,7 @@
 		"Not allowed to select the root of an xpath " ,
 		"Empty xpath expression " ,
 		"The xpath expression cannot end with '|' " ,
-		"Invalid character following '.' in xpath " ,
+		"Invalid character '{0}' in xpath " ,
 		"XPath token not supported " ,
 		"Find a solution! " ,
 		"buffer not initialized yet! " ,

Modified: xerces/c/branches/xerces-2.7/src/xercesc/util/MsgLoaders/InMemory/XercesMessages_en_US.hpp
URL: http://svn.apache.org/viewvc/xerces/c/branches/xerces-2.7/src/xercesc/util/MsgLoaders/InMemory/XercesMessages_en_US.hpp?view=diff&rev=516131&r1=516130&r2=516131
==============================================================================
--- xerces/c/branches/xerces-2.7/src/xercesc/util/MsgLoaders/InMemory/XercesMessages_en_US.hpp (original)
+++ xerces/c/branches/xerces-2.7/src/xercesc/util/MsgLoaders/InMemory/XercesMessages_en_US.hpp Thu Mar  8 10:26:37 2007
@@ -1517,8 +1517,7 @@
   , { 0x0045,0x006D,0x0070,0x0074,0x0079,0x0020,0x0078,0x0070,0x0061,0x0074,0x0068,0x0020,0x0065,0x0078,0x0070,0x0072,0x0065,0x0073,0x0073,0x0069,0x006F,0x006E,0x00 }
   , { 0x0054,0x0068,0x0065,0x0020,0x0078,0x0070,0x0061,0x0074,0x0068,0x0020,0x0065,0x0078,0x0070,0x0072,0x0065,0x0073,0x0073,0x0069,0x006F,0x006E,0x0020,0x0063,0x0061,0x006E,0x006E,0x006F,0x0074,0x0020,0x0065,0x006E,0x0064,0x0020,0x0077,0x0069,0x0074,
       0x0068,0x0020,0x0027,0x007C,0x0027,0x00 }
-  , { 0x0049,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x0020,0x0066,0x006F,0x006C,0x006C,0x006F,0x0077,0x0069,0x006E,0x0067,0x0020,0x0027,0x002E,0x0027,0x0020,0x0069,0x006E,0x0020,
-      0x0078,0x0070,0x0061,0x0074,0x0068,0x00 }
+  , { 0x0049,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x006E,0x0020,0x0078,0x0070,0x0061,0x0074,0x0068,0x00 }
   , { 0x0058,0x0050,0x0061,0x0074,0x0068,0x0020,0x0074,0x006F,0x006B,0x0065,0x006E,0x0020,0x006E,0x006F,0x0074,0x0020,0x0073,0x0075,0x0070,0x0070,0x006F,0x0072,0x0074,0x0065,0x0064,0x00 }
   , { 0x0046,0x0069,0x006E,0x0064,0x0020,0x0061,0x0020,0x0073,0x006F,0x006C,0x0075,0x0074,0x0069,0x006F,0x006E,0x0021,0x00 }
   , { 0x0062,0x0075,0x0066,0x0066,0x0065,0x0072,0x0020,0x006E,0x006F,0x0074,0x0020,0x0069,0x006E,0x0069,0x0074,0x0069,0x0061,0x006C,0x0069,0x007A,0x0065,0x0064,0x0020,0x0079,0x0065,0x0074,0x0021,0x00 }

Modified: xerces/c/branches/xerces-2.7/src/xercesc/util/MsgLoaders/MsgCatalog/XercesMessages_en_US.Msg
URL: http://svn.apache.org/viewvc/xerces/c/branches/xerces-2.7/src/xercesc/util/MsgLoaders/MsgCatalog/XercesMessages_en_US.Msg?view=diff&rev=516131&r1=516130&r2=516131
==============================================================================
--- xerces/c/branches/xerces-2.7/src/xercesc/util/MsgLoaders/MsgCatalog/XercesMessages_en_US.Msg (original)
+++ xerces/c/branches/xerces-2.7/src/xercesc/util/MsgLoaders/MsgCatalog/XercesMessages_en_US.Msg Thu Mar  8 10:26:37 2007
@@ -738,7 +738,7 @@
 315  Not allowed to select the root of an xpath
 316  Empty xpath expression
 317  The xpath expression cannot end with '|'
-318  Invalid character following '.' in xpath
+318  Invalid character '{0}' in xpath
 319  XPath token not supported
 320  Find a solution!
 321  buffer not initialized yet!

Modified: xerces/c/branches/xerces-2.7/src/xercesc/util/Platforms/Win32/Version.rc
URL: http://svn.apache.org/viewvc/xerces/c/branches/xerces-2.7/src/xercesc/util/Platforms/Win32/Version.rc?view=diff&rev=516131&r1=516130&r2=516131
==============================================================================
--- xerces/c/branches/xerces-2.7/src/xercesc/util/Platforms/Win32/Version.rc (original)
+++ xerces/c/branches/xerces-2.7/src/xercesc/util/Platforms/Win32/Version.rc Thu Mar  8 10:26:37 2007
@@ -840,7 +840,7 @@
     8507              L"\x004E\x006F\x0074\x0020\x0061\x006C\x006C\x006F\x0077\x0065\x0064\x0020\x0074\x006F\x0020\x0073\x0065\x006C\x0065\x0063\x0074\x0020\x0074\x0068\x0065\x0020\x0072\x006F\x006F\x0074\x0020\x006F\x0066\x0020\x0061\x006E\x0020\x0078\x0070\x0061\x0074\x0068\x00"
     8508              L"\x0045\x006D\x0070\x0074\x0079\x0020\x0078\x0070\x0061\x0074\x0068\x0020\x0065\x0078\x0070\x0072\x0065\x0073\x0073\x0069\x006F\x006E\x00"
     8509              L"\x0054\x0068\x0065\x0020\x0078\x0070\x0061\x0074\x0068\x0020\x0065\x0078\x0070\x0072\x0065\x0073\x0073\x0069\x006F\x006E\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0065\x006E\x0064\x0020\x0077\x0069\x0074\x0068\x0020\x0027\x007C\x0027\x00"
-    8510              L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0066\x006F\x006C\x006C\x006F\x0077\x0069\x006E\x0067\x0020\x0027\x002E\x0027\x0020\x0069\x006E\x0020\x0078\x0070\x0061\x0074\x0068\x00"
+    8510              L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x006E\x0020\x0078\x0070\x0061\x0074\x0068\x00"
     8511              L"\x0058\x0050\x0061\x0074\x0068\x0020\x0074\x006F\x006B\x0065\x006E\x0020\x006E\x006F\x0074\x0020\x0073\x0075\x0070\x0070\x006F\x0072\x0074\x0065\x0064\x00"
     8512              L"\x0046\x0069\x006E\x0064\x0020\x0061\x0020\x0073\x006F\x006C\x0075\x0074\x0069\x006F\x006E\x0021\x00"
     8513              L"\x0062\x0075\x0066\x0066\x0065\x0072\x0020\x006E\x006F\x0074\x0020\x0069\x006E\x0069\x0074\x0069\x0061\x006C\x0069\x007A\x0065\x0064\x0020\x0079\x0065\x0074\x0021\x00"

Modified: xerces/c/branches/xerces-2.7/src/xercesc/validators/schema/identity/XercesXPath.cpp
URL: http://svn.apache.org/viewvc/xerces/c/branches/xerces-2.7/src/xercesc/validators/schema/identity/XercesXPath.cpp?view=diff&rev=516131&r1=516130&r2=516131
==============================================================================
--- xerces/c/branches/xerces-2.7/src/xercesc/validators/schema/identity/XercesXPath.cpp (original)
+++ xerces/c/branches/xerces-2.7/src/xercesc/validators/schema/identity/XercesXPath.cpp Thu Mar  8 10:26:37 2007
@@ -849,7 +849,8 @@
                     break;
                 }
             } else {
-                ThrowXMLwithMemMgr(XPathException, XMLExcepts::XPath_InvalidChar, tokens->getMemoryManager());
+                XMLCh str[2]= {ch, 0 };
+                ThrowXMLwithMemMgr1(XPathException, XMLExcepts::XPath_InvalidChar, str, tokens->getMemoryManager());
             }
 
             break;
@@ -1078,6 +1079,7 @@
         case CHARTYPE_NONASCII: // possibly a valid non-ascii 'Letter' (BaseChar | Ideographic)
         case CHARTYPE_LETTER:
         case CHARTYPE_UNDERSCORE:
+            {
             //
             // 3.7 Lexical Structure
             //
@@ -1289,6 +1291,13 @@
 
             starIsMultiplyOperator = true;
             break;
+            }
+        default:
+            {
+            XMLCh str[2]= {ch, 0 };
+            ThrowXMLwithMemMgr1(XPathException, XMLExcepts::XPath_InvalidChar, str, tokens->getMemoryManager());
+            break;
+            }
         }
     }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org