json 2.17.0 → 2.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a35454680e80a622fb539155325b2f693e90b352aad3f24b7f9eafc5ca797963
4
- data.tar.gz: 9eee4f7ce5348a1eb44100766d5a7b326a4e76691fbfd3db8a2410020fb75ec1
3
+ metadata.gz: e803f3f9e7d45dba43221559016a34d8cc9e3ab491e39137d17b614713edb710
4
+ data.tar.gz: 429e3465eada0c9d985c94dbd13bbdd8d57e4b62cf7cf06273f22e136dafb4a8
5
5
  SHA512:
6
- metadata.gz: 0771fad39331fe9d47dbd855a02f662053a79ff08679c8bc76855dcfd3edbcdb32746cc0db435e6ea14815eacdbe97bf1152b704eacb7ddf1423917eb2545923
7
- data.tar.gz: 742dc87f4cc0306e613cfb65824aaee600aa53f0715135190ffaa4ca1f25aa6820a10b1860befcf90f3dcf6676bd5bb304f0e2858ec1e5933f66b089fca82e78
6
+ metadata.gz: adebc7ed56efc6651e23730720ea9f365e434ae234d70620469ae3e8a9240ada46f0ce7d6982f30a1301104fd2b033eaac57950c2657cfc5b2e7b79ffe73a925
7
+ data.tar.gz: 346c97276881d404414359ce0893fd16fe35d6413377b4ad3d71448a9f5fb919a61ef7630fc186a6aeef11fa6422273d0625eccfdd6a57a00c98c0e470c7ec92
data/CHANGES.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  ### Unreleased
4
4
 
5
+ ### 2025-12-04 (2.17.1)
6
+
7
+ * Fix a regression in parsing of unicode surogate pairs (`\uXX\uXX`) that could cause an invalid string to be returned.
8
+
5
9
  ### 2025-12-03 (2.17.0)
6
10
 
7
11
  * Improve `JSON.load` and `JSON.unsafe_load` to allow passing options as second argument.
@@ -651,7 +651,9 @@ static inline const char *json_next_backslash(const char *pe, const char *string
651
651
  positions->size--;
652
652
  const char *next_position = positions->positions[0];
653
653
  positions->positions++;
654
- return next_position;
654
+ if (next_position >= pe) {
655
+ return next_position;
656
+ }
655
657
  }
656
658
 
657
659
  if (positions->has_more) {
data/lib/json/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module JSON
4
- VERSION = '2.17.0'
4
+ VERSION = '2.17.1'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: json
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.17.0
4
+ version: 2.17.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Frank