From 0c86ef06d6da70ed666708da2d7a879deb1fab82dc251da69b445d8de0a06dea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Thu, 11 Feb 2016 15:20:10 +0000 Subject: [PATCH 1/2] - Add patches for bnc#814241 upstream#1616 * arrays-doubling.patch * scan-pseudo-attribute.patch OBS-URL: https://build.opensuse.org/package/show/Java:packages/xerces-j2?expand=0&rev=43 --- arrays-doubling.patch | 48 +++++++++++++++++++++++++++++++++++++ scan-pseudo-attribute.patch | 47 ++++++++++++++++++++++++++++++++++++ xerces-j2.changes | 7 ++++++ xerces-j2.spec | 11 +++++++-- 4 files changed, 111 insertions(+), 2 deletions(-) create mode 100644 arrays-doubling.patch create mode 100644 scan-pseudo-attribute.patch diff --git a/arrays-doubling.patch b/arrays-doubling.patch new file mode 100644 index 0000000..9f9536a --- /dev/null +++ b/arrays-doubling.patch @@ -0,0 +1,48 @@ +--- xerces/src/org/apache/xerces/util/XMLStringBuffer.java 2006/09/18 05:12:57 447241 ++++ xerces/src/org/apache/xerces/util/XMLStringBuffer.java 2013/07/25 18:13:37 +@@ -111,12 +111,13 @@ + */ + public void append(char c) { + if (this.length + 1 > this.ch.length) { +- int newLength = this.ch.length*2; +- if (newLength < this.ch.length + DEFAULT_SIZE) +- newLength = this.ch.length + DEFAULT_SIZE; +- char[] newch = new char[newLength]; +- System.arraycopy(this.ch, 0, newch, 0, this.length); +- this.ch = newch; ++ int newLength = this.ch.length * 2; ++ if (newLength < this.ch.length + DEFAULT_SIZE) { ++ newLength = this.ch.length + DEFAULT_SIZE; ++ } ++ char[] newch = new char[newLength]; ++ System.arraycopy(this.ch, 0, newch, 0, this.length); ++ this.ch = newch; + } + this.ch[this.length] = c; + this.length++; +@@ -130,9 +131,10 @@ + public void append(String s) { + int length = s.length(); + if (this.length + length > this.ch.length) { +- int newLength = this.ch.length*2; +- if (newLength < this.length + length + DEFAULT_SIZE) ++ int newLength = this.ch.length * 2; ++ if (newLength < this.length + length + DEFAULT_SIZE) { + newLength = this.ch.length + length + DEFAULT_SIZE; ++ } + char[] newch = new char[newLength]; + System.arraycopy(this.ch, 0, newch, 0, this.length); + this.ch = newch; +@@ -150,7 +152,11 @@ + */ + public void append(char[] ch, int offset, int length) { + if (this.length + length > this.ch.length) { +- char[] newch = new char[this.ch.length + length + DEFAULT_SIZE]; ++ int newLength = this.ch.length * 2; ++ if (newLength < this.length + length + DEFAULT_SIZE) { ++ newLength = this.ch.length + length + DEFAULT_SIZE; ++ } ++ char[] newch = new char[newLength]; + System.arraycopy(this.ch, 0, newch, 0, this.length); + this.ch = newch; + } diff --git a/scan-pseudo-attribute.patch b/scan-pseudo-attribute.patch new file mode 100644 index 0000000..3996a30 --- /dev/null +++ b/scan-pseudo-attribute.patch @@ -0,0 +1,47 @@ +--- xerces/src/org/apache/xerces/impl/XMLScanner.java 2013/07/03 18:25:06 1499505 ++++ xerces/src/org/apache/xerces/impl/XMLScanner.java 2013/07/03 18:29:43 +@@ -542,7 +542,7 @@ + // document is until we scan the encoding declaration + // you cannot reliably read any characters outside + // of the ASCII range here. -- mrglavas +- String name = fEntityScanner.scanName(); ++ String name = scanPseudoAttributeName(); + XMLEntityManager.print(fEntityManager.getCurrentEntity()); + if (name == null) { + reportFatalError("PseudoAttrNameExpected", null); +@@ -599,6 +599,35 @@ + } // scanPseudoAttribute(XMLString):String + + /** ++ * Scans the name of a pseudo attribute. The only legal names ++ * in XML 1.0/1.1 documents are 'version', 'encoding' and 'standalone'. ++ * ++ * @return the name of the pseudo attribute or null ++ * if a legal pseudo attribute name could not be scanned. ++ */ ++ private String scanPseudoAttributeName() throws IOException, XNIException { ++ final int ch = fEntityScanner.peekChar(); ++ switch (ch) { ++ case 'v': ++ if (fEntityScanner.skipString(fVersionSymbol)) { ++ return fVersionSymbol; ++ } ++ break; ++ case 'e': ++ if (fEntityScanner.skipString(fEncodingSymbol)) { ++ return fEncodingSymbol; ++ } ++ break; ++ case 's': ++ if (fEntityScanner.skipString(fStandaloneSymbol)) { ++ return fStandaloneSymbol; ++ } ++ break; ++ } ++ return null; ++ } // scanPseudoAttributeName() ++ ++ /** + * Scans a processing instruction. + *

+ *

diff --git a/xerces-j2.changes b/xerces-j2.changes
index 4d6f535..e315a6e 100644
--- a/xerces-j2.changes
+++ b/xerces-j2.changes
@@ -1,3 +1,10 @@
+-------------------------------------------------------------------
+Thu Feb 11 15:12:31 UTC 2016 - tchvatal@suse.com
+
+- Add patches for bnc#814241 upstream#1616
+  * arrays-doubling.patch
+  * scan-pseudo-attribute.patch
+
 -------------------------------------------------------------------
 Mon Jul 21 09:58:48 UTC 2014 - tchvatal@suse.com
 
diff --git a/xerces-j2.spec b/xerces-j2.spec
index 187fc2a..af6ec90 100644
--- a/xerces-j2.spec
+++ b/xerces-j2.spec
@@ -1,7 +1,7 @@
 #
 # spec file for package xerces-j2
 #
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -30,12 +30,15 @@ Source2:        %{name}-version.sh
 Source3:        %{name}-version.1
 Source4:        %{name}-constants.sh
 Source5:        %{name}-constants.1
+Patch0:         arrays-doubling.patch
+Patch1:         scan-pseudo-attribute.patch
+BuildRequires:  dos2unix
 # some build requirements removed to enable jpackage bootstrap. this is
 # the first package built, and we use the libraries in the tools subdir
 # for it.
-BuildRequires:  java-1_5_0-gcj-compat-devel
 #!BuildIgnore:  java-1_6_0-openjdk java-1_6_0-openjdk-devel
 #!BuildIgnore:  antlr antlr-java
+BuildRequires:  java-1_5_0-gcj-compat-devel
 BuildRequires:  javapackages-tools
 BuildRequires:  unzip
 Requires(post): update-alternatives
@@ -160,6 +163,10 @@ This package contains the APIs subproject of xml-commons.
 %setup -q -T -a 1 -D -n xerces-%{cvs_version}
 %setup -q -T -D -n xerces-%{cvs_version}
 
+find -type f -print |xargs -i dos2unix {}
+%patch0 -p1
+%patch1 -p1
+
 echo 'javac.target=1.5' > build.properties
 echo 'javac.source=1.5' >> build.properties
 

From 25a933c1e47153c4f6ca407fec51a74d96d03a162507afc6c4c870a65e511eb5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= 
Date: Thu, 11 Feb 2016 15:22:29 +0000
Subject: [PATCH 2/2] OBS-URL:
 https://build.opensuse.org/package/show/Java:packages/xerces-j2?expand=0&rev=44

---
 xerces-j2.spec | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xerces-j2.spec b/xerces-j2.spec
index af6ec90..46584f6 100644
--- a/xerces-j2.spec
+++ b/xerces-j2.spec
@@ -30,6 +30,7 @@ Source2:        %{name}-version.sh
 Source3:        %{name}-version.1
 Source4:        %{name}-constants.sh
 Source5:        %{name}-constants.1
+# PATCH-FIX-UPSTREAM bnc#814241 XERCESJ-1616
 Patch0:         arrays-doubling.patch
 Patch1:         scan-pseudo-attribute.patch
 BuildRequires:  dos2unix