red-flatbuffers 0.0.6 → 0.0.7

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: da9d52a03f8768c7a5a39975e2e66733a222e2eac7031f1d831b902fb4797858
4
- data.tar.gz: 83c2b63223d2e54cff08fd4417311b63ed88bb97c54c057b75e97241a77ff736
3
+ metadata.gz: 2ecd36783d84b9cdaf8339a319175cee6707c293ebe1c70c3adeed7471173231
4
+ data.tar.gz: 20963bf01ed0aa0bf27654c34738d6c3c461715de940490c3cceb00489ec14c8
5
5
  SHA512:
6
- metadata.gz: 81d54acfdea20f3ee2a495802ca1163c0dc9f33c5addf08a5c50feb42400119ed4c9e4975c8cfc776411b0239ea6fa30720712e0403f8f09d0d3b736b775f95c
7
- data.tar.gz: d990ebd164eb41bbfb16217cacba7b565781817a259302e3179fc53864963f3b0ebd6a41eee8a6e61ba33a1cee47b7b6a9176f525e9e76a762ef32d6a3e8cac7
6
+ metadata.gz: f914e057a7f61872526be9f24321c60adc0910c0a6ddb5c3792b6221763321a08b2f15449abe5305666865dc4c7abdaedc23a2fac443227aa67b3d0070d0fdc3
7
+ data.tar.gz: e9b2b25c8ef9acc6217913316d0de32c1613f41b1ebe4adff8dbacdad8abbc195755c28c763751050e85b4e32031b05fd9378ceb6297c65851cb1772c523f6de
data/doc/text/news.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # News
2
2
 
3
+ ## 0.0.7 - 2026-03-03
4
+
5
+ ### Improvements
6
+
7
+ * Aligned vector body with 8 byte for FlatCC verification.
8
+
3
9
  ## 0.0.6 - 2026-02-25
4
10
 
5
11
  ### Fixes
@@ -238,10 +238,20 @@ module FlatBuffers
238
238
 
239
239
  def add_field_array(field, value)
240
240
  align!(@table, View::OFFSET_SIZE)
241
- align!(@values, View::OFFSET_SIZE)
241
+
242
+ # Vector body must be aligned with 8 byte. Vector is
243
+ # serialized as |length|body|. `length` is uoffset_t
244
+ # (uint32_t) and its size is 4 byte. So we need to align
245
+ # `@values` with 8 byte and pad the first 4 byte:
246
+ # |4 byte padding|length (4 byte)|body (8 byte aligned)|
247
+ vector_body_alignment = 8
248
+ vector_length_pack_string = "L<"
249
+ vector_length_size = 4
250
+ align!(@values, vector_body_alignment)
251
+ pad!(@values, vector_body_alignment - vector_length_size)
242
252
  value_offset = @values.bytesize
243
- # The number of elements.
244
- @values.append_as_bytes([value.size].pack("L<"))
253
+ @values.append_as_bytes([value.size].pack(vector_length_pack_string))
254
+
245
255
  element_base_type = field.base_type[0]
246
256
  case element_base_type
247
257
  when String
@@ -13,5 +13,5 @@
13
13
  # limitations under the License.
14
14
 
15
15
  module FlatBuffers
16
- VERSION = "0.0.6"
16
+ VERSION = "0.0.7"
17
17
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: red-flatbuffers
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sutou Kouhei
@@ -63,7 +63,7 @@ licenses:
63
63
  - Apache-2.0
64
64
  metadata:
65
65
  bug_tracker_uri: https://github.com/red-data-tools/red-flatbuffers/issues
66
- changelog_uri: https://github.com/red-data-tools/red-flatbuffers/releases/tag/0.0.6
66
+ changelog_uri: https://github.com/red-data-tools/red-flatbuffers/releases/tag/0.0.7
67
67
  source_code_uri: https://github.com/red-data-tools/red-flatbuffers
68
68
  rdoc_options: []
69
69
  require_paths: