Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package jackson-core for openSUSE:Factory 
checked in at 2021-01-26 14:46:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/jackson-core (Old)
 and      /work/SRC/openSUSE:Factory/.jackson-core.new.28504 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "jackson-core"

Tue Jan 26 14:46:31 2021 rev:5 rq:866495 version:2.10.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/jackson-core/jackson-core.changes        
2020-03-26 23:33:15.838774820 +0100
+++ /work/SRC/openSUSE:Factory/.jackson-core.new.28504/jackson-core.changes     
2021-01-26 14:50:00.143698268 +0100
@@ -1,0 +2,10 @@
+Mon Jan 25 08:16:57 UTC 2021 - Fridrich Strba <fst...@suse.com>
+
+- Update to 2.10.5
+  * #616: Parsing JSON with 'ALLOW_MISSING_VALUE' enabled results
+    in endless stream of 'VALUE_NULL' tokens
+  * #605: Handle case when system property access is restricted
+  * #609: (partial fix) 'FilteringGeneratorDelegate' does not
+    handle 'writeString(Reader, int)'
+
+-------------------------------------------------------------------
@@ -8 +18 @@
-  * #603: 'JsonParser.getCurrentLocation()` byte/char offset update
+  * #603: 'JsonParser.getCurrentLocation()' byte/char offset update

Old:
----
  jackson-core-2.10.3.tar.gz

New:
----
  jackson-core-2.10.5.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ jackson-core.spec ++++++
--- /var/tmp/diff_new_pack.cs5TYt/_old  2021-01-26 14:50:00.615698911 +0100
+++ /var/tmp/diff_new_pack.cs5TYt/_new  2021-01-26 14:50:00.619698917 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package jackson-core
 #
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           jackson-core
-Version:        2.10.3
+Version:        2.10.5
 Release:        0
 Summary:        Core part of Jackson
 License:        Apache-2.0
@@ -26,7 +26,7 @@
 Source0:        
https://github.com/FasterXML/jackson-core/archive/%{name}-%{version}.tar.gz
 BuildRequires:  fdupes
 BuildRequires:  maven-local
-BuildRequires:  mvn(com.fasterxml.jackson:jackson-base:pom:) >= %{version}
+BuildRequires:  mvn(com.fasterxml.jackson:jackson-base:pom:)
 BuildRequires:  mvn(com.google.code.maven-replacer-plugin:replacer)
 BuildRequires:  mvn(org.apache.felix:maven-bundle-plugin)
 BuildArch:      noarch

++++++ jackson-core-2.10.3.tar.gz -> jackson-core-2.10.5.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jackson-core-jackson-core-2.10.3/pom.xml 
new/jackson-core-jackson-core-2.10.5/pom.xml
--- old/jackson-core-jackson-core-2.10.3/pom.xml        2020-03-03 
04:11:26.000000000 +0100
+++ new/jackson-core-jackson-core-2.10.5/pom.xml        2020-07-21 
03:40:39.000000000 +0200
@@ -3,13 +3,13 @@
   <parent>
     <groupId>com.fasterxml.jackson</groupId>
     <artifactId>jackson-base</artifactId>
-    <version>2.10.3</version>
+    <version>2.10.5</version>
   </parent>
 
   <groupId>com.fasterxml.jackson.core</groupId>
   <artifactId>jackson-core</artifactId>
   <name>Jackson-core</name>
-  <version>2.10.3</version>
+  <version>2.10.5</version>
   <packaging>bundle</packaging>
   <description>Core Jackson processing abstractions (aka Streaming API), 
implementation for JSON</description>
   <inceptionYear>2008</inceptionYear>
@@ -19,7 +19,7 @@
     <connection>scm:git:g...@github.com:FasterXML/jackson-core.git</connection>
     
<developerConnection>scm:git:g...@github.com:FasterXML/jackson-core.git</developerConnection>
     <url>http://github.com/FasterXML/jackson-core</url>    
-    <tag>jackson-core-2.10.3</tag>
+    <tag>jackson-core-2.10.5</tag>
   </scm>
 
   <properties>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jackson-core-jackson-core-2.10.3/release-notes/CREDITS-2.x 
new/jackson-core-jackson-core-2.10.5/release-notes/CREDITS-2.x
--- old/jackson-core-jackson-core-2.10.3/release-notes/CREDITS-2.x      
2020-03-03 04:11:26.000000000 +0100
+++ new/jackson-core-jackson-core-2.10.5/release-notes/CREDITS-2.x      
2020-07-21 03:40:39.000000000 +0200
@@ -211,3 +211,13 @@
   * Reported, contributed fix for #592: DataFormatMatcher#getMatchedFormatName 
throws NPE
     when no match exists
   (2.10.3)
+
+Volkan Yaz??c?? (vy@github)
+  * Reported #609: (partial fix) `FilteringGeneratorDelegate` does not handle
+    `writeString(Reader, int)`
+  (2.10.4 [partial], 2.11.0 [full fix])
+
+Justin Liu (jusliu@github)
+  * Reported #616: Parsing JSON with `ALLOW_MISSING_VALUE` enabled results in 
endless stream
+   of `VALUE_NULL` tokens
+  (2.10.5)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jackson-core-jackson-core-2.10.3/release-notes/VERSION-2.x 
new/jackson-core-jackson-core-2.10.5/release-notes/VERSION-2.x
--- old/jackson-core-jackson-core-2.10.3/release-notes/VERSION-2.x      
2020-03-03 04:11:26.000000000 +0100
+++ new/jackson-core-jackson-core-2.10.5/release-notes/VERSION-2.x      
2020-07-21 03:40:39.000000000 +0200
@@ -14,6 +14,19 @@
 === Releases ===
 ------------------------------------------------------------------------
 
+2.10.5 (21-Jul-2020)
+
+#616: Parsing JSON with `ALLOW_MISSING_VALUE` enabled results in endless stream
+  of `VALUE_NULL` tokens
+ (reported by Justin L)
+
+2.10.4 (03-May-2020)
+
+#605: Handle case when system property access is restricted
+ (reported by rhernandez35@github)
+#609: (partial fix) `FilteringGeneratorDelegate` does not handle 
`writeString(Reader, int)`
+ (reported by Volkan Y)
+
 2.10.3 (03-Mar-2020)
 
 #592: DataFormatMatcher#getMatchedFormatName throws NPE when no match exists
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jackson-core-jackson-core-2.10.3/src/main/java/com/fasterxml/jackson/core/filter/FilteringGeneratorDelegate.java
 
new/jackson-core-jackson-core-2.10.5/src/main/java/com/fasterxml/jackson/core/filter/FilteringGeneratorDelegate.java
--- 
old/jackson-core-jackson-core-2.10.3/src/main/java/com/fasterxml/jackson/core/filter/FilteringGeneratorDelegate.java
        2020-03-03 04:11:26.000000000 +0100
+++ 
new/jackson-core-jackson-core-2.10.5/src/main/java/com/fasterxml/jackson/core/filter/FilteringGeneratorDelegate.java
        2020-07-21 03:40:39.000000000 +0200
@@ -2,6 +2,7 @@
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.Reader;
 import java.math.BigDecimal;
 import java.math.BigInteger;
 
@@ -487,6 +488,30 @@
     }
 
     @Override
+    public void writeString(Reader reader, int len) throws IOException {
+        if (_itemFilter == null) {
+            return;
+        }
+        if (_itemFilter != TokenFilter.INCLUDE_ALL) {
+            TokenFilter state = _filterContext.checkValue(_itemFilter);
+            if (state == null) {
+                return;
+            }
+            if (state != TokenFilter.INCLUDE_ALL) {
+                // [core#609]: do need to implement, but with 2.10.x 
TokenFilter no
+                // useful method to call so will be mostly unfiltered
+                /*
+                if (!state.includeString("")) {
+                    return;
+                }
+                */
+            }
+            _checkParentPath();
+        }
+        delegate.writeString(reader, len);
+    }
+
+    @Override
     public void writeRawUTF8String(byte[] text, int offset, int length) throws 
IOException
     {
         if (_checkRawValueWrite()) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jackson-core-jackson-core-2.10.3/src/main/java/com/fasterxml/jackson/core/json/ReaderBasedJsonParser.java
 
new/jackson-core-jackson-core-2.10.5/src/main/java/com/fasterxml/jackson/core/json/ReaderBasedJsonParser.java
--- 
old/jackson-core-jackson-core-2.10.3/src/main/java/com/fasterxml/jackson/core/json/ReaderBasedJsonParser.java
       2020-03-03 04:11:26.000000000 +0100
+++ 
new/jackson-core-jackson-core-2.10.5/src/main/java/com/fasterxml/jackson/core/json/ReaderBasedJsonParser.java
       2020-07-21 03:40:39.000000000 +0200
@@ -1132,17 +1132,20 @@
             return (_currToken = _parsePosNumber(i));
         /*
          * This check proceeds only if the Feature.ALLOW_MISSING_VALUES is 
enabled
-         * The Check is for missing values. Incase of missing values in an 
array, the next token will be either ',' or ']'.
+         * The Check is for missing values. In case of missing values in an 
array, the next token will be either ',' or ']'.
          * This case, decrements the already incremented _inputPtr in the 
buffer in case of comma(,) 
          * so that the existing flow goes back to checking the next token 
which will be comma again and
          * it continues the parsing.
          * Also the case returns NULL as current token in case of ',' or ']'.  
  
          */
+// case ']':  // 11-May-2020, tatu: related to [core#616], this should never 
be reached
         case ',':
-        case ']':
-            if ((_features & FEAT_MASK_ALLOW_MISSING) != 0) {
-                --_inputPtr;
-                return (_currToken = JsonToken.VALUE_NULL);  
+            // 11-May-2020, tatu: [core#616] No commas in root level
+            if (!_parsingContext.inRoot()) {
+                if ((_features & FEAT_MASK_ALLOW_MISSING) != 0) {
+                    --_inputPtr;
+                    return (_currToken = JsonToken.VALUE_NULL);
+                }
             }
         }
         return (_currToken = _handleOddValue(i));
@@ -1881,9 +1884,12 @@
             }
             // fall through
         case ',':
-            if ((_features & FEAT_MASK_ALLOW_MISSING) != 0) {
-                --_inputPtr;
-                return JsonToken.VALUE_NULL;
+            // 11-May-2020, tatu: [core#616] No commas in root level
+            if (!_parsingContext.inRoot()) {
+                if ((_features & FEAT_MASK_ALLOW_MISSING) != 0) {
+                    --_inputPtr;
+                    return JsonToken.VALUE_NULL;
+                }
             }
             break;
         case 'N':
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jackson-core-jackson-core-2.10.3/src/main/java/com/fasterxml/jackson/core/json/UTF8DataInputJsonParser.java
 
new/jackson-core-jackson-core-2.10.5/src/main/java/com/fasterxml/jackson/core/json/UTF8DataInputJsonParser.java
--- 
old/jackson-core-jackson-core-2.10.3/src/main/java/com/fasterxml/jackson/core/json/UTF8DataInputJsonParser.java
     2020-03-03 04:11:26.000000000 +0100
+++ 
new/jackson-core-jackson-core-2.10.5/src/main/java/com/fasterxml/jackson/core/json/UTF8DataInputJsonParser.java
     2020-07-21 03:40:39.000000000 +0200
@@ -2027,10 +2027,13 @@
             /* !!! TODO: 08-May-2016, tatu: To support 
`Feature.ALLOW_MISSING_VALUES` would
              *    need handling here...
              */
-            if ((_features & FEAT_MASK_ALLOW_MISSING) != 0) {
+            // 11-May-2020, tatu: [core#616] No commas in root level
+            if (!_parsingContext.inRoot()) {
+                if ((_features & FEAT_MASK_ALLOW_MISSING) != 0) {
 //               _inputPtr--;
-                _nextByte = c;
-               return JsonToken.VALUE_NULL;
+                    _nextByte = c;
+                   return JsonToken.VALUE_NULL;
+                }
             }
             // fall through
         case '}':
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jackson-core-jackson-core-2.10.3/src/main/java/com/fasterxml/jackson/core/json/UTF8StreamJsonParser.java
 
new/jackson-core-jackson-core-2.10.5/src/main/java/com/fasterxml/jackson/core/json/UTF8StreamJsonParser.java
--- 
old/jackson-core-jackson-core-2.10.3/src/main/java/com/fasterxml/jackson/core/json/UTF8StreamJsonParser.java
        2020-03-03 04:11:26.000000000 +0100
+++ 
new/jackson-core-jackson-core-2.10.5/src/main/java/com/fasterxml/jackson/core/json/UTF8StreamJsonParser.java
        2020-07-21 03:40:39.000000000 +0200
@@ -2611,9 +2611,12 @@
             // 28-Mar-2016: [core#116]: If Feature.ALLOW_MISSING_VALUES is 
enabled
             //   we may allow "missing values", that is, encountering a 
trailing
             //   comma or closing marker where value would be expected
-            if ((_features & FEAT_MASK_ALLOW_MISSING) != 0) {
-                --_inputPtr;
-                return JsonToken.VALUE_NULL;
+            // 11-May-2020, tatu: [core#616] No commas in root level
+            if (!_parsingContext.inRoot()) {
+                if ((_features & FEAT_MASK_ALLOW_MISSING) != 0) {
+                    --_inputPtr;
+                    return JsonToken.VALUE_NULL;
+                }
             }
             // fall through
         case '}':
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jackson-core-jackson-core-2.10.3/src/main/java/com/fasterxml/jackson/core/json/async/NonBlockingJsonParser.java
 
new/jackson-core-jackson-core-2.10.5/src/main/java/com/fasterxml/jackson/core/json/async/NonBlockingJsonParser.java
--- 
old/jackson-core-jackson-core-2.10.3/src/main/java/com/fasterxml/jackson/core/json/async/NonBlockingJsonParser.java
 2020-03-03 04:11:26.000000000 +0100
+++ 
new/jackson-core-jackson-core-2.10.5/src/main/java/com/fasterxml/jackson/core/json/async/NonBlockingJsonParser.java
 2020-07-21 03:40:39.000000000 +0200
@@ -904,9 +904,12 @@
             // 28-Mar-2016: [core#116]: If Feature.ALLOW_MISSING_VALUES is 
enabled
             //   we may allow "missing values", that is, encountering a 
trailing
             //   comma or closing marker where value would be expected
-            if ((_features & FEAT_MASK_ALLOW_MISSING) != 0) {
-                --_inputPtr;
-                return _valueComplete(JsonToken.VALUE_NULL);
+            // 11-May-2020, tatu: [core#616] No commas in root level
+            if (!_parsingContext.inRoot()) {
+                if ((_features & FEAT_MASK_ALLOW_MISSING) != 0) {
+                    --_inputPtr;
+                    return _valueComplete(JsonToken.VALUE_NULL);
+                }
             }
             // fall through
         case INT_RCURLY:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jackson-core-jackson-core-2.10.3/src/main/java/com/fasterxml/jackson/core/util/BufferRecyclers.java
 
new/jackson-core-jackson-core-2.10.5/src/main/java/com/fasterxml/jackson/core/util/BufferRecyclers.java
--- 
old/jackson-core-jackson-core-2.10.3/src/main/java/com/fasterxml/jackson/core/util/BufferRecyclers.java
     2020-03-03 04:11:26.000000000 +0100
+++ 
new/jackson-core-jackson-core-2.10.5/src/main/java/com/fasterxml/jackson/core/util/BufferRecyclers.java
     2020-07-21 03:40:39.000000000 +0200
@@ -5,7 +5,7 @@
 /**
  * Helper entity used to control access to simple buffer recyling scheme used 
for
  * some encoding, decoding tasks.
- * 
+ *
  * @see BufferRecycler
  *
  * @since 2.9.2
@@ -33,10 +33,13 @@
      */
     private final static ThreadLocalBufferManager _bufferRecyclerTracker;
     static {
-        _bufferRecyclerTracker = 
"true".equals(System.getProperty(SYSTEM_PROPERTY_TRACK_REUSABLE_BUFFERS))
-                ? ThreadLocalBufferManager.instance()
-                : null;
-    }    
+        boolean trackReusableBuffers = false;
+        try {
+            trackReusableBuffers = 
"true".equals(System.getProperty(SYSTEM_PROPERTY_TRACK_REUSABLE_BUFFERS));
+        } catch (SecurityException e) { }
+
+        _bufferRecyclerTracker = trackReusableBuffers ? 
ThreadLocalBufferManager.instance() : null;
+    }
 
     /*
     /**********************************************************
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jackson-core-jackson-core-2.10.3/src/test/java/com/fasterxml/jackson/core/read/LocationOffsets455Test.java
 
new/jackson-core-jackson-core-2.10.5/src/test/java/com/fasterxml/jackson/core/read/LocationOffsets455Test.java
--- 
old/jackson-core-jackson-core-2.10.3/src/test/java/com/fasterxml/jackson/core/read/LocationOffsets455Test.java
      1970-01-01 01:00:00.000000000 +0100
+++ 
new/jackson-core-jackson-core-2.10.5/src/test/java/com/fasterxml/jackson/core/read/LocationOffsets455Test.java
      2020-07-21 03:40:39.000000000 +0200
@@ -0,0 +1,51 @@
+package com.fasterxml.jackson.core.read;
+
+import com.fasterxml.jackson.core.JsonLocation;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonToken;
+
+public class LocationOffsets455Test extends com.fasterxml.jackson.core.BaseTest
+{
+    // for [jackson-core#455]
+    public void testEOFLocationViaReader() throws Exception
+    {
+        JsonParser p = createParserUsingReader("42");
+        assertToken(JsonToken.VALUE_NUMBER_INT, p.nextToken());
+        assertEquals(42, p.getIntValue());
+        JsonLocation loc = p.getCurrentLocation();
+        assertEquals(1, loc.getLineNr());
+        assertEquals(3, loc.getColumnNr());
+        assertEquals(2, loc.getCharOffset());
+        assertEquals(-1, loc.getByteOffset());
+
+        assertNull(p.nextToken());
+
+        loc = p.getCurrentLocation();
+        assertEquals(1, loc.getLineNr());
+        assertEquals(3, loc.getColumnNr());
+        assertEquals(2, loc.getCharOffset());
+        assertEquals(-1, loc.getByteOffset());
+        p.close();
+    }
+
+    // for [jackson-core#455]
+    public void testEOFLocationViaStream() throws Exception
+    {
+        JsonParser p = createParserUsingStream("42", "UTF-8");
+        assertToken(JsonToken.VALUE_NUMBER_INT, p.nextToken());
+        assertEquals(42, p.getIntValue());
+        JsonLocation loc = p.getCurrentLocation();
+        assertEquals(1, loc.getLineNr());
+        assertEquals(3, loc.getColumnNr());
+        assertEquals(2, loc.getByteOffset());
+
+        assertNull(p.nextToken());
+        loc = p.getCurrentLocation();
+        assertEquals(1, loc.getLineNr());
+        assertEquals(3, loc.getColumnNr());
+        assertEquals(2, loc.getByteOffset());
+        assertEquals(-1, loc.getCharOffset());
+        p.close();
+    }
+
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jackson-core-jackson-core-2.10.3/src/test/java/com/fasterxml/jackson/core/read/TrailingCommas616Test.java
 
new/jackson-core-jackson-core-2.10.5/src/test/java/com/fasterxml/jackson/core/read/TrailingCommas616Test.java
--- 
old/jackson-core-jackson-core-2.10.3/src/test/java/com/fasterxml/jackson/core/read/TrailingCommas616Test.java
       1970-01-01 01:00:00.000000000 +0100
+++ 
new/jackson-core-jackson-core-2.10.5/src/test/java/com/fasterxml/jackson/core/read/TrailingCommas616Test.java
       2020-07-21 03:40:39.000000000 +0200
@@ -0,0 +1,40 @@
+package com.fasterxml.jackson.core.read;
+
+import com.fasterxml.jackson.core.*;
+import com.fasterxml.jackson.core.json.JsonReadFeature;
+
+public class TrailingCommas616Test extends BaseTest
+{
+    private final JsonFactory JSON_F_ALLOW_MISSING = JsonFactory.builder()
+            .enable(JsonReadFeature.ALLOW_MISSING_VALUES)
+            .build();
+
+    // [core#616]
+    public void testRootLevelComma616() throws Exception
+    {
+        _testRootLevel616(MODE_READER);
+    }
+
+    public void testRootLevelComma616Bytes() throws Exception
+    {
+        _testRootLevel616(MODE_INPUT_STREAM);
+        _testRootLevel616(MODE_INPUT_STREAM_THROTTLED);
+    }
+
+    public void testRootLevelComma616DataInput() throws Exception
+    {
+        _testRootLevel616(MODE_DATA_INPUT);
+    }
+
+    private void _testRootLevel616(int mode) throws Exception
+    {
+        JsonParser p = createParser(JSON_F_ALLOW_MISSING, mode, ",");
+        try {
+            p.nextToken();
+            fail("Should not pass");
+        } catch (JsonParseException e) {
+            verifyException(e, "Unexpected character (','");
+        }
+        p.close();
+    }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jackson-core-jackson-core-2.10.3/src/test/java/com/fasterxml/jackson/failing/LocationOffsets455Test.java
 
new/jackson-core-jackson-core-2.10.5/src/test/java/com/fasterxml/jackson/failing/LocationOffsets455Test.java
--- 
old/jackson-core-jackson-core-2.10.3/src/test/java/com/fasterxml/jackson/failing/LocationOffsets455Test.java
        2020-03-03 04:11:26.000000000 +0100
+++ 
new/jackson-core-jackson-core-2.10.5/src/test/java/com/fasterxml/jackson/failing/LocationOffsets455Test.java
        1970-01-01 01:00:00.000000000 +0100
@@ -1,50 +0,0 @@
-package com.fasterxml.jackson.failing;
-
-import com.fasterxml.jackson.core.JsonLocation;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonToken;
-
-public class LocationOffsets455Test extends com.fasterxml.jackson.core.BaseTest
-{
-    // for [jackson-core#455]
-    public void testEOFLocationViaReader() throws Exception
-    {
-        JsonParser p = createParserUsingReader("42");
-        assertToken(JsonToken.VALUE_NUMBER_INT, p.nextToken());
-        assertEquals(42, p.getIntValue());
-        JsonLocation loc = p.getCurrentLocation();
-        assertEquals(1, loc.getLineNr());
-        assertEquals(3, loc.getColumnNr());
-        assertEquals(2, loc.getByteOffset());
-
-        assertNull(p.nextToken());
-
-        loc = p.getCurrentLocation();
-        System.err.println("LOC/r = "+loc);
-        assertEquals(1, loc.getLineNr());
-        assertEquals(2, loc.getByteOffset());
-        assertEquals(3, loc.getColumnNr());
-        p.close();
-    }
-
-    // for [jackson-core#455]
-    public void testEOFLocationViaStream() throws Exception
-    {
-        JsonParser p = createParserUsingStream("42", "UTF-8");
-        assertToken(JsonToken.VALUE_NUMBER_INT, p.nextToken());
-        assertEquals(42, p.getIntValue());
-        JsonLocation loc = p.getCurrentLocation();
-        assertEquals(1, loc.getLineNr());
-        assertEquals(3, loc.getColumnNr());
-        assertEquals(2, loc.getByteOffset());
-
-        assertNull(p.nextToken());
-        loc = p.getCurrentLocation();
-        System.err.println("LOC/str = "+loc);
-        assertEquals(1, loc.getLineNr());
-        assertEquals(2, loc.getCharOffset());
-        assertEquals(3, loc.getColumnNr());
-        p.close();
-    }
-
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jackson-core-jackson-core-2.10.3/src/test/java/com/fasterxml/jackson/failing/TokenFilter609Test.java
 
new/jackson-core-jackson-core-2.10.5/src/test/java/com/fasterxml/jackson/failing/TokenFilter609Test.java
--- 
old/jackson-core-jackson-core-2.10.3/src/test/java/com/fasterxml/jackson/failing/TokenFilter609Test.java
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/jackson-core-jackson-core-2.10.5/src/test/java/com/fasterxml/jackson/failing/TokenFilter609Test.java
    2020-07-21 03:40:39.000000000 +0200
@@ -0,0 +1,82 @@
+package com.fasterxml.jackson.failing;
+
+import java.io.*;
+
+import com.fasterxml.jackson.core.*;
+import com.fasterxml.jackson.core.filter.FilteringGeneratorDelegate;
+import com.fasterxml.jackson.core.filter.TokenFilter;
+import com.fasterxml.jackson.core.util.JsonGeneratorDelegate;
+
+// for [core#609]
+public class TokenFilter609Test
+    extends com.fasterxml.jackson.core.BaseTest
+{
+    static class NullExcludingTokenFilter extends TokenFilter {
+        private static final NullExcludingTokenFilter INSTANCE =
+                new NullExcludingTokenFilter();
+
+        @Override
+        public boolean includeNull() {
+            return false;
+        }
+
+    }
+
+    static class StringTruncatingGeneratorDelegate
+        extends JsonGeneratorDelegate
+    {
+        private final int maxStringLength;
+
+        private StringTruncatingGeneratorDelegate(
+                JsonGenerator jsonGenerator,
+                int maxStringLength) {
+            super(jsonGenerator);
+            this.maxStringLength = maxStringLength;
+        }
+
+        @Override
+        public void writeString(String text) throws IOException {
+            if (text == null) {
+                writeNull();
+            } else if (maxStringLength <= 0 || maxStringLength >= 
text.length()) {
+                super.writeString(text);
+            } else {
+//                super.writeString(text.substring(0, maxStringLength));
+                StringReader textReader = new StringReader(text);
+                super.writeString(textReader, maxStringLength);
+            }
+        }
+
+        @Override
+        public void writeFieldName(String name) throws IOException {
+            if (maxStringLength <= 0 || maxStringLength >= name.length()) {
+                super.writeFieldName(name);
+            } else {
+                String truncatedName = name.substring(0, maxStringLength);
+                super.writeFieldName(truncatedName);
+            }
+        }
+
+    }
+
+    // for [core#609]: will pass in 2.10 for some cases
+    @SuppressWarnings("resource")
+    public void testIssue609() throws Exception
+    {
+        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
+        JsonGenerator g = createGenerator(outputStream);
+        g = new FilteringGeneratorDelegate(
+                g, NullExcludingTokenFilter.INSTANCE, true, true);
+        int maxStringLength = 10;
+        g = new StringTruncatingGeneratorDelegate(
+                g, maxStringLength);
+        g.writeStartObject();
+        g.writeFieldName("message");
+        g.writeString("1234567890!");
+        g.writeEndObject();
+        g.close();
+
+        String json = outputStream.toString("US-ASCII");
+        assertEquals("{\"message\":\"1234567890\"}", json);
+    }
+}

Reply via email to