File tree 3 files changed +15
-9
lines changed
src/main/java/com/fasterxml/jackson/core/io
3 files changed +15
-9
lines changed Original file line number Diff line number Diff line change @@ -433,4 +433,8 @@ Antonin Janec (@xtonic)
433
433
* Contributed #1217 : Optimize char comparison using bitwise OR
434
434
(2.17.0 )
435
435
* Contributed #1218 : Simplify Unicode surrogate pair conversion for generation
436
- (2.17.0 )
436
+ (2.17.0 )
437
+
438
+ Jared Stehler (@jaredstehler)
439
+ * Reported, contributed fix for #1274 : `NUL`-corrupted keys, values on JSON serialization
440
+ (2.18.0 )
Original file line number Diff line number Diff line change @@ -30,6 +30,8 @@ a pure JSON library.
30
30
to prevent use by downstream consumers
31
31
(requested by @seadbrane )
32
32
#1271 : Deprecate `LockFreePool` implementation in 2.18 (remove from 3.0)
33
+ #1274 : `NUL`-corrupted keys, values on JSON serialization
34
+ (reported , fix contributed by Jared S )
33
35
#1277 : Add back Java 22 optimisation in FastDoubleParser
34
36
35
37
2.17 .1 (04 - May - 2024 )
Original file line number Diff line number Diff line change @@ -37,17 +37,17 @@ public class SerializedString
37
37
* search framework; and they believed this is an important optimization for
38
38
* heaviest, multi-core deployed use cases.
39
39
*/
40
- /*
41
- * 22-Sep-2013, tatu: FWIW, there have been no reports of problems in this
42
- * area, or anything pointing to it. So I think we are safe up to JDK7
43
- * and hopefully beyond.
44
- */
40
+ // 22-Sep-2013, tatu: FWIW, there have been no reports of problems in this
41
+ // area, or anything pointing to it. So I think we are safe up to JDK7
42
+ // and hopefully beyond.
43
+ // 09-Jun-2024, tatu: Until we are not. As per [core#1274] there are reasons to
44
+ // believe `volatile` is actually needed, so will be added in 2.18.0
45
45
46
- protected /* volatile*/ byte [] _quotedUTF8Ref ;
46
+ protected volatile byte [] _quotedUTF8Ref ;
47
47
48
- protected /* volatile*/ byte [] _unquotedUTF8Ref ;
48
+ protected volatile byte [] _unquotedUTF8Ref ;
49
49
50
- protected /* volatile*/ char [] _quotedChars ;
50
+ protected volatile char [] _quotedChars ;
51
51
52
52
public SerializedString (String v ) {
53
53
_value = Objects .requireNonNull (v , "Null String illegal for SerializedString" );
You can’t perform that action at this time.
0 commit comments