google-protobuf 3.24.0-x86-mingw32 → 3.24.1-x86-mingw32

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.

Potentially problematic release.


This version of google-protobuf might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c3eeeb76cf9988d19b4e561b677522fcc1dd195361caf22c23383cfd0a4a97e1
4
- data.tar.gz: 7e33e330b99e1cb9eaa4a79fe03cfb8b6026a624d4a0812628e7a9e5d4d1ae18
3
+ metadata.gz: d5a5bf3392c37787ae451d573f692e6803e791e9cb6fa73330372bd693db09b0
4
+ data.tar.gz: 55beb8a63129618b5ebe266d6fcafca512b8f938c008fd23c212548a123950a7
5
5
  SHA512:
6
- metadata.gz: c92571a35d8e7f8e7e9852eccb1889c1e7a9fcc98f30422a188daddf0e528e65c000ff574a49f9a9a01ed04a49c8165ed1de41d2147bb36ff8b35719a2aef1a5
7
- data.tar.gz: cf10ed0c38e073bf4e541fb88c02d41e3f721ff53f4a482e1ec0348c48760636030376189f11b961b637ea912e4f25bd1abaf5c6c7f88c8034474fb09d4f9d8b
6
+ metadata.gz: d45addd91f17dac87afb6579bc680ee7b6156604774564cef16f567c527f0affd214bf560a75a59a666f13a7ca3bfdce2ab1199d8e96e8bb48f2e9660fe634ee
7
+ data.tar.gz: c4647812eeeaeee54fae7e241be21fc46d7250616dc80a99dd3f38b56d66c0648ad8db892caf0fd6e96a081e38c6617c866c96716881cee98c8c548f24bfdae4
@@ -276,17 +276,25 @@ static void ObjectCache_Init(VALUE protobuf) {
276
276
  rb_const_set(protobuf, rb_intern("SIZEOF_VALUE"), INT2NUM(SIZEOF_VALUE));
277
277
  }
278
278
 
279
- VALUE ObjectCache_TryAdd(const void *key, VALUE val) {
279
+ static VALUE ObjectCache_GetKey(const void *key) {
280
280
  VALUE key_val = (VALUE)key;
281
281
  PBRUBY_ASSERT((key_val & 3) == 0);
282
- return rb_funcall(weak_obj_cache, item_try_add, 2, LL2NUM(key_val), val);
282
+ // Ensure the key can be stored as a Fixnum since 1 bit is needed for
283
+ // FIXNUM_FLAG and 1 bit is needed for the sign bit.
284
+ VALUE new_key = LL2NUM(key_val >> 2);
285
+ PBRUBY_ASSERT(FIXNUM_P(new_key));
286
+ return new_key;
287
+ }
288
+
289
+ VALUE ObjectCache_TryAdd(const void *key, VALUE val) {
290
+ VALUE key_val = ObjectCache_GetKey(key);
291
+ return rb_funcall(weak_obj_cache, item_try_add, 2, key_val, val);
283
292
  }
284
293
 
285
294
  // Returns the cached object for this key, if any. Otherwise returns Qnil.
286
295
  VALUE ObjectCache_Get(const void *key) {
287
- VALUE key_val = (VALUE)key;
288
- PBRUBY_ASSERT((key_val & 3) == 0);
289
- return rb_funcall(weak_obj_cache, item_get, 1, LL2NUM(key_val));
296
+ VALUE key_val = ObjectCache_GetKey(key);
297
+ return rb_funcall(weak_obj_cache, item_get, 1, key_val);
290
298
  }
291
299
 
292
300
  /*
Binary file
Binary file
Binary file
Binary file
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-protobuf
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.24.0
4
+ version: 3.24.1
5
5
  platform: x86-mingw32
6
6
  authors:
7
7
  - Protobuf Authors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-08-08 00:00:00.000000000 Z
11
+ date: 2023-08-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake-compiler-dock
@@ -111,7 +111,7 @@ homepage: https://developers.google.com/protocol-buffers
111
111
  licenses:
112
112
  - BSD-3-Clause
113
113
  metadata:
114
- source_code_uri: https://github.com/protocolbuffers/protobuf/tree/v3.24.0/ruby
114
+ source_code_uri: https://github.com/protocolbuffers/protobuf/tree/v3.24.1/ruby
115
115
  post_install_message:
116
116
  rdoc_options: []
117
117
  require_paths: