﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
7614	preferences.xml: invalid XML character / reference to entity	anonymous	team	"If there is a  (`U+2642`) or `&` in the preferences.xml, an error occures:
""Preferences file had errors.
Making backup of old one to /home/test/.josm/preferences.xml.bak and creating a new default preference file.""

This are allowed characters in filenames (for example ext3 filesystem).

Example 1:

{{{
#!xml
<list key='file-open.history'>
    <entry value='/test/Blabla/123.gpx'/>
(...)
}}}

{{{
Repository Root: http://josm.openstreetmap.de/svn
Build-Date: 2012-04-14 14:26:11
Last Changed Author: simon04
Revision: 5181
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
URL: http://josm.openstreetmap.de/svn/trunk
Last Changed Date: 2012-04-14 12:01:16 +0200 (Sat, 14 Apr 2012)
Last Changed Rev: 5181

org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0x{2}) was found in the value of attribute ""{1}"" and element is ""1a"".
        at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198)
        at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177)
        at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:391)
        at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1391)
        at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanAttributeValue(XMLScanner.java:944)
        at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanAttribute(XMLNSDocumentScannerImpl.java:436)
        at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:253)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2732)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:625)
        at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:116)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:488)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:812)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:741)
        at com.sun.org.apache.xerces.internal.jaxp.validation.StreamValidatorHelper.validate(StreamValidatorHelper.java:147)
        at com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorImpl.validate(ValidatorImpl.java:116)
        at javax.xml.validation.Validator.validate(Validator.java:124)
        at org.openstreetmap.josm.data.Preferences.validateXML(Preferences.java:1476)
        at org.openstreetmap.josm.data.Preferences.load(Preferences.java:621)
        at org.openstreetmap.josm.data.Preferences.load(Preferences.java:583)
        at org.openstreetmap.josm.data.Preferences.init(Preferences.java:720)
        at org.openstreetmap.josm.gui.MainApplication.main(MainApplication.java:194)
}}}

-------------------------------------------------------------------------

Example 2:

{{{
#!xml
  <list key='file-open.history'>
    <entry value='/test/Bla&bla/123.gpx'/>
(...)
}}}

{{{
Repository Root: http://josm.openstreetmap.de/svn
Build-Date: 2012-04-14 14:26:11
Last Changed Author: simon04
Revision: 5181
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
URL: http://josm.openstreetmap.de/svn/trunk
Last Changed Date: 2012-04-14 12:01:16 +0200 (Sat, 14 Apr 2012)
Last Changed Rev: 5181

org.xml.sax.SAXParseException: The reference to entity ""bla"" must end with the ';' delimiter.
        at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198)
        at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177)
        at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:391)
        at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1391)
        at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanAttributeValue(XMLScanner.java:845)
        at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanAttribute(XMLNSDocumentScannerImpl.java:436)
        at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:253)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2732)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:625)
        at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:116)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:488)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:812)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:741)
        at com.sun.org.apache.xerces.internal.jaxp.validation.StreamValidatorHelper.validate(StreamValidatorHelper.java:147)
        at com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorImpl.validate(ValidatorImpl.java:116)
        at javax.xml.validation.Validator.validate(Validator.java:124)
        at org.openstreetmap.josm.data.Preferences.validateXML(Preferences.java:1476)
        at org.openstreetmap.josm.data.Preferences.load(Preferences.java:621)
        at org.openstreetmap.josm.data.Preferences.load(Preferences.java:583)
        at org.openstreetmap.josm.data.Preferences.init(Preferences.java:720)
        at org.openstreetmap.josm.gui.MainApplication.main(MainApplication.java:194)
}}}"	defect	reopened	normal		Core				
