Compare commits

..
Author SHA1 Message Date
dependabot[bot] 197e659b4d Bump actions/checkout from 6 to 7
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-22 13:45:04 +00:00
13 changed files with 136 additions and 238 deletions
+28 -28
View File
@@ -30,7 +30,7 @@ jobs:
cxx: [g++-13, clang++-18]
fail-fast: false
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- name: cmake
run: CXX=${{ matrix.cxx }} cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLATBUFFERS_STRICT_MODE=ON -DFLATBUFFERS_STATIC_FLATC=ON .
- name: build
@@ -68,7 +68,7 @@ jobs:
name: Build Linux with -DFLATBUFFERS_NO_FILE_TESTS
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- name: cmake
run: CXX=clang++-18 cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLATBUFFERS_STRICT_MODE=ON -DFLATBUFFERS_CXX_FLAGS="-DFLATBUFFERS_NO_FILE_TESTS" .
- name: build
@@ -80,7 +80,7 @@ jobs:
name: Build Linux with out-of-source build location
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- name: make build directory
run: mkdir build
- name: cmake
@@ -112,7 +112,7 @@ jobs:
std: 23
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- name: cmake
run: >
CXX=${{ matrix.cxx }} cmake -G "Unix Makefiles"
@@ -135,7 +135,7 @@ jobs:
std: [11, 14, 17, 20, 23]
fail-fast: false
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v2
- name: cmake
@@ -160,7 +160,7 @@ jobs:
name: Build Windows 2022
runs-on: windows-2022
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v2
- name: cmake
@@ -200,7 +200,7 @@ jobs:
'-p:EnableSpanT=true,UnsafeByteBuffer=true'
]
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- name: Setup .NET Core SDK
uses: actions/setup-dotnet@v5
with:
@@ -229,7 +229,7 @@ jobs:
name: Build Mac (for Intel)
runs-on: macos-15-intel
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- name: cmake
run: cmake -G "Xcode" -DCMAKE_OSX_ARCHITECTURES="x86_64" -DCMAKE_BUILD_TYPE=Release -DFLATBUFFERS_STRICT_MODE=ON .
- name: build
@@ -272,7 +272,7 @@ jobs:
name: Build Mac (universal build)
runs-on: macos-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- name: cmake
run: cmake -G "Xcode" -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" -DCMAKE_BUILD_TYPE=Release -DFLATBUFFERS_STRICT_MODE=ON .
- name: build
@@ -312,7 +312,7 @@ jobs:
if: false #disabled due to continual failure
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- name: set up Java
uses: actions/setup-java@v5
with:
@@ -336,7 +336,7 @@ jobs:
matrix:
cxx: [g++-13, clang++-18]
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- name: cmake
run: CXX=${{ matrix.cxx }} cmake -G "Unix Makefiles" -DFLATBUFFERS_BUILD_TESTS=OFF -DCMAKE_BUILD_TYPE=Release -DFLATBUFFERS_STRICT_MODE=ON . && make -j
- name: Generate
@@ -348,7 +348,7 @@ jobs:
name: Check Generated Code on Windows
runs-on: windows-2022
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v2
- name: cmake
@@ -367,7 +367,7 @@ jobs:
matrix:
cxx: [g++-13]
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- name: cmake
run: CXX=${{ matrix.cxx }} cmake -G "Unix Makefiles" -DFLATBUFFERS_CXX_FLAGS="-Wno-unused-parameter -fno-aligned-new" -DFLATBUFFERS_BUILD_BENCHMARKS=ON -DCMAKE_BUILD_TYPE=Release -DFLATBUFFERS_STRICT_MODE=ON . && make -j
- name: Run benchmarks
@@ -382,7 +382,7 @@ jobs:
name: Build Java
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- name: test
working-directory: java
run: mvn test
@@ -392,7 +392,7 @@ jobs:
runs-on: macos-15
steps:
- name: Checkout
uses: actions/checkout@v6
uses: actions/checkout@v7
- name: set up Java
uses: actions/setup-java@v5
with:
@@ -415,7 +415,7 @@ jobs:
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v6
uses: actions/checkout@v7
- name: set up Java
uses: actions/setup-java@v5
with:
@@ -439,7 +439,7 @@ jobs:
name: Build Rust Linux
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- name: test
working-directory: tests
run: bash RustTest.sh
@@ -448,7 +448,7 @@ jobs:
name: Build Rust Windows
runs-on: windows-2022
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- name: test
working-directory: tests
run: ./RustTest.bat
@@ -457,7 +457,7 @@ jobs:
name: Build Python
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- name: flatc
# FIXME: make test script not rely on flatc
run: cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLATBUFFERS_BUILD_TESTS=OFF -DFLATBUFFERS_INSTALL=OFF -DFLATBUFFERS_BUILD_FLATLIB=OFF -DFLATBUFFERS_BUILD_FLATHASH=OFF -DFLATBUFFERS_STRICT_MODE=ON . && make -j
@@ -469,7 +469,7 @@ jobs:
name: Build Go
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- name: flatc
# FIXME: make test script not rely on flatc
run: cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLATBUFFERS_BUILD_TESTS=OFF -DFLATBUFFERS_INSTALL=OFF -DFLATBUFFERS_BUILD_FLATLIB=OFF -DFLATBUFFERS_BUILD_FLATHASH=OFF -DFLATBUFFERS_STRICT_MODE=ON . && make -j
@@ -481,7 +481,7 @@ jobs:
name: Build PHP
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- name: flatc
# FIXME: make test script not rely on flatc
run: cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLATBUFFERS_BUILD_TESTS=OFF -DFLATBUFFERS_INSTALL=OFF -DFLATBUFFERS_BUILD_FLATLIB=OFF -DFLATBUFFERS_BUILD_FLATHASH=OFF -DFLATBUFFERS_STRICT_MODE=ON . && make -j
@@ -498,7 +498,7 @@ jobs:
swift: ["6.0", "6.1", "6.2"]
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- uses: swift-actions/setup-swift@v2
with:
swift-version: ${{ matrix.swift }}
@@ -511,7 +511,7 @@ jobs:
name: Test swift windows
runs-on: windows-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- uses: SwiftyLab/setup-swift@latest
with:
swift-version: '6.1'
@@ -522,7 +522,7 @@ jobs:
name: Test Swift Wasm
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- uses: swift-actions/setup-swift@v2
with:
swift-version: 6.2.1
@@ -540,7 +540,7 @@ jobs:
name: Build TS
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- name: flatc
# FIXME: make test script not rely on flatc
run: cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLATBUFFERS_BUILD_TESTS=OFF -DFLATBUFFERS_INSTALL=OFF -DFLATBUFFERS_BUILD_FLATLIB=OFF -DFLATBUFFERS_BUILD_FLATHASH=OFF . && make -j
@@ -559,7 +559,7 @@ jobs:
name: Build Dart
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- uses: dart-lang/setup-dart@v1
with:
sdk: stable
@@ -574,7 +574,7 @@ jobs:
name: Build Nim
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- name: flatc
# FIXME: make test script not rely on flatc
run: cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLATBUFFERS_BUILD_TESTS=OFF -DFLATBUFFERS_INSTALL=OFF -DFLATBUFFERS_BUILD_FLATLIB=OFF -DFLATBUFFERS_BUILD_FLATHASH=OFF . && make -j
@@ -590,7 +590,7 @@ jobs:
name: Bazel
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
# Explicitly use 8.5.1 until we can update or https://github.com/actions/runner-images/issues/13564 is fixed.
- name: Set env
run: >
+1 -1
View File
@@ -16,7 +16,7 @@ jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- name: Configure Git Credentials
run: |
git config user.name github-actions[bot]
+6 -6
View File
@@ -12,7 +12,7 @@ jobs:
name: Publish NPM
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- uses: actions/setup-node@v6
with:
node-version: '20.x'
@@ -29,7 +29,7 @@ jobs:
run:
working-directory: ./python
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- uses: actions/setup-python@v6
with:
python-version: '3.10'
@@ -57,7 +57,7 @@ jobs:
run:
working-directory: ./net/flatbuffers
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- uses: actions/setup-dotnet@v5
with:
dotnet-version: '8.0.x'
@@ -80,7 +80,7 @@ jobs:
run:
working-directory: ./java
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- name: Set up Maven Central Repository
uses: actions/setup-java@v5
@@ -108,7 +108,7 @@ jobs:
run:
working-directory: ./kotlin
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- name: Set up Maven Central Repository
uses: actions/setup-java@v5
with:
@@ -133,7 +133,7 @@ jobs:
name: Publish crates.io
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
-11
View File
@@ -75,17 +75,6 @@ extension Array where Element == Package.Dependency {
.package(
url: "https://github.com/grpc/grpc-swift-nio-transport.git",
from: "2.0.0"),
// swift-crypto arrives through grpc-swift-nio-transport -> swift-nio-ssl
// and is otherwise resolved afresh on every build, because this package
// ships no Package.resolved. 5.x asks for swift-tools-version 6.2, so only
// the 6.2 CI job selects it - and then fails to compile it, because 5.x
// uses `@nonexhaustive`, which the 6.2.x toolchains do not accept yet.
// Stay on the last 4.x release that still builds with every toolchain in
// the Swift CI matrix (4.3.0 declares swift-tools-version 6.0; 4.4+ asks
// for 6.1 and would drop the 6.0 job).
.package(
url: "https://github.com/apple/swift-crypto.git",
"4.0.0" ..< "4.4.0"),
]
#endif
}
+1 -1
View File
@@ -271,7 +271,7 @@ namespace flatbuffers {
#if (defined(_MSC_VER) && _MSC_VER >= 1800) || \
(defined(__ANDROID__) && defined(__ANDROID_API__) && __ANDROID_API__>= 26) || \
(defined(_XOPEN_VERSION) && (_XOPEN_VERSION >= 700)) && \
!defined(__Fuchsia__) && (!defined(__linux__) || defined(__GLIBC__))
!defined(__Fuchsia__)
#define FLATBUFFERS_LOCALE_INDEPENDENT 1
#else
#define FLATBUFFERS_LOCALE_INDEPENDENT 0
+9 -8
View File
@@ -24,14 +24,15 @@ class handle:
struct offset:
o:int
let sz_8 = 1
let sz_16 = 2
let sz_32 = 4
let sz_64 = 8
let sz_voffset = 2
let sz_uoffset = 4
let sz_soffset = 4
let sz_metadata_fields = 2
enum sizeof:
sz_8 = 1
sz_16 = 2
sz_32 = 4
sz_64 = 8
sz_voffset = 2
sz_uoffset = 4
sz_soffset = 4
sz_metadata_fields = 2
class builder:
buf = "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
+77 -83
View File
@@ -16,22 +16,22 @@ importers:
version: 24.0.3
'@typescript-eslint/eslint-plugin':
specifier: ^8.34.1
version: 8.34.1(@typescript-eslint/parser@8.34.1(eslint@9.29.0(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.8.3))(eslint@9.29.0(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.8.3)
version: 8.34.1(@typescript-eslint/parser@8.34.1(eslint@9.29.0)(typescript@5.8.3))(eslint@9.29.0)(typescript@5.8.3)
'@typescript-eslint/parser':
specifier: ^8.34.1
version: 8.34.1(eslint@9.29.0(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.8.3)
version: 8.34.1(eslint@9.29.0)(typescript@5.8.3)
esbuild:
specifier: ^0.25.5
version: 0.25.5
eslint:
specifier: ^9.29.0
version: 9.29.0(supports-color@7.2.0)
version: 9.29.0
typescript:
specifier: 5.8.3
version: 5.8.3
typescript-eslint:
specifier: ^8.34.1
version: 8.34.1(eslint@9.29.0(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.8.3)
version: 8.34.1(eslint@9.29.0)(typescript@5.8.3)
tests/ts:
dependencies:
@@ -239,22 +239,22 @@ packages:
resolution: {integrity: sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@humanfs/core@0.19.2':
resolution: {integrity: sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==}
'@humanfs/core@0.19.1':
resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
engines: {node: '>=18.18.0'}
'@humanfs/node@0.16.8':
resolution: {integrity: sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==}
engines: {node: '>=18.18.0'}
'@humanfs/types@0.15.0':
resolution: {integrity: sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==}
'@humanfs/node@0.16.6':
resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==}
engines: {node: '>=18.18.0'}
'@humanwhocodes/module-importer@1.0.1':
resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
engines: {node: '>=12.22'}
'@humanwhocodes/retry@0.3.1':
resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
engines: {node: '>=18.18'}
'@humanwhocodes/retry@0.4.3':
resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==}
engines: {node: '>=18.18'}
@@ -362,11 +362,11 @@ packages:
balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
brace-expansion@1.1.21:
resolution: {integrity: sha512-9zeA+KLZNNzglF2TPKRQEDyx6Yby7daAkuy8MiPzpXPsYDWi/DRM8jmwUDxokQjYqBpv5DgPiwD4h4ZZSy1Ujw==}
brace-expansion@1.1.12:
resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==}
brace-expansion@2.1.7:
resolution: {integrity: sha512-uZbew1NqdmPDTMJ8ah1y+b+9QEJrfkXFk3RcTQw3X0jW/xRUvFKsg1CfQdSYGdTbXZWExtU3J3ccxtnfw1Fi0g==}
brace-expansion@2.0.2:
resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==}
braces@3.0.3:
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
@@ -430,7 +430,6 @@ packages:
eslint@9.29.0:
resolution: {integrity: sha512-GsGizj2Y1rCWDu6XoEekL3RLilp0voSePurjZIkxL3wlm5o5EC9VpgaP7lrCvjnkuLvzFBQWB3vWB3K5KQTveQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options.
hasBin: true
peerDependencies:
jiti: '*'
@@ -543,8 +542,8 @@ packages:
isexe@2.0.0:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
js-yaml@4.3.2:
resolution: {integrity: sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA==}
js-yaml@4.1.1:
resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==}
hasBin: true
json-buffer@3.0.1:
@@ -615,8 +614,8 @@ packages:
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
engines: {node: '>=8'}
picomatch@2.3.2:
resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==}
picomatch@2.3.1:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
engines: {node: '>=8.6'}
prelude-ls@1.2.1:
@@ -784,22 +783,22 @@ snapshots:
'@esbuild/win32-x64@0.25.5':
optional: true
'@eslint-community/eslint-utils@4.4.0(eslint@9.29.0(supports-color@7.2.0))':
'@eslint-community/eslint-utils@4.4.0(eslint@9.29.0)':
dependencies:
eslint: 9.29.0(supports-color@7.2.0)
eslint: 9.29.0
eslint-visitor-keys: 3.4.3
'@eslint-community/eslint-utils@4.7.0(eslint@9.29.0(supports-color@7.2.0))':
'@eslint-community/eslint-utils@4.7.0(eslint@9.29.0)':
dependencies:
eslint: 9.29.0(supports-color@7.2.0)
eslint: 9.29.0
eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.12.1': {}
'@eslint/config-array@0.20.1(supports-color@7.2.0)':
'@eslint/config-array@0.20.1':
dependencies:
'@eslint/object-schema': 2.1.6
debug: 4.3.7(supports-color@7.2.0)
debug: 4.3.7
minimatch: 3.1.5
transitivePeerDependencies:
- supports-color
@@ -814,15 +813,15 @@ snapshots:
dependencies:
'@types/json-schema': 7.0.15
'@eslint/eslintrc@3.3.1(supports-color@7.2.0)':
'@eslint/eslintrc@3.3.1':
dependencies:
ajv: 6.14.0
debug: 4.3.7(supports-color@7.2.0)
debug: 4.3.7
espree: 10.4.0
globals: 14.0.0
ignore: 5.3.2
import-fresh: 3.3.0
js-yaml: 4.3.2
js-yaml: 4.1.1
minimatch: 3.1.5
strip-json-comments: 3.1.1
transitivePeerDependencies:
@@ -837,20 +836,17 @@ snapshots:
'@eslint/core': 0.15.2
levn: 0.4.1
'@humanfs/core@0.19.2':
dependencies:
'@humanfs/types': 0.15.0
'@humanfs/core@0.19.1': {}
'@humanfs/node@0.16.8':
'@humanfs/node@0.16.6':
dependencies:
'@humanfs/core': 0.19.2
'@humanfs/types': 0.15.0
'@humanwhocodes/retry': 0.4.3
'@humanfs/types@0.15.0': {}
'@humanfs/core': 0.19.1
'@humanwhocodes/retry': 0.3.1
'@humanwhocodes/module-importer@1.0.1': {}
'@humanwhocodes/retry@0.3.1': {}
'@humanwhocodes/retry@0.4.3': {}
'@nodelib/fs.scandir@2.1.5':
@@ -873,15 +869,15 @@ snapshots:
dependencies:
undici-types: 7.8.0
'@typescript-eslint/eslint-plugin@8.34.1(@typescript-eslint/parser@8.34.1(eslint@9.29.0(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.8.3))(eslint@9.29.0(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.8.3)':
'@typescript-eslint/eslint-plugin@8.34.1(@typescript-eslint/parser@8.34.1(eslint@9.29.0)(typescript@5.8.3))(eslint@9.29.0)(typescript@5.8.3)':
dependencies:
'@eslint-community/regexpp': 4.12.1
'@typescript-eslint/parser': 8.34.1(eslint@9.29.0(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.8.3)
'@typescript-eslint/parser': 8.34.1(eslint@9.29.0)(typescript@5.8.3)
'@typescript-eslint/scope-manager': 8.34.1
'@typescript-eslint/type-utils': 8.34.1(eslint@9.29.0(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.8.3)
'@typescript-eslint/utils': 8.34.1(eslint@9.29.0(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.8.3)
'@typescript-eslint/type-utils': 8.34.1(eslint@9.29.0)(typescript@5.8.3)
'@typescript-eslint/utils': 8.34.1(eslint@9.29.0)(typescript@5.8.3)
'@typescript-eslint/visitor-keys': 8.34.1
eslint: 9.29.0(supports-color@7.2.0)
eslint: 9.29.0
graphemer: 1.4.0
ignore: 7.0.5
natural-compare: 1.4.0
@@ -890,23 +886,23 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/parser@8.34.1(eslint@9.29.0(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.8.3)':
'@typescript-eslint/parser@8.34.1(eslint@9.29.0)(typescript@5.8.3)':
dependencies:
'@typescript-eslint/scope-manager': 8.34.1
'@typescript-eslint/types': 8.34.1
'@typescript-eslint/typescript-estree': 8.34.1(supports-color@7.2.0)(typescript@5.8.3)
'@typescript-eslint/typescript-estree': 8.34.1(typescript@5.8.3)
'@typescript-eslint/visitor-keys': 8.34.1
debug: 4.3.7(supports-color@7.2.0)
eslint: 9.29.0(supports-color@7.2.0)
debug: 4.3.7
eslint: 9.29.0
typescript: 5.8.3
transitivePeerDependencies:
- supports-color
'@typescript-eslint/project-service@8.34.1(supports-color@7.2.0)(typescript@5.8.3)':
'@typescript-eslint/project-service@8.34.1(typescript@5.8.3)':
dependencies:
'@typescript-eslint/tsconfig-utils': 8.34.1(typescript@5.8.3)
'@typescript-eslint/types': 8.34.1
debug: 4.3.7(supports-color@7.2.0)
debug: 4.3.7
typescript: 5.8.3
transitivePeerDependencies:
- supports-color
@@ -920,12 +916,12 @@ snapshots:
dependencies:
typescript: 5.8.3
'@typescript-eslint/type-utils@8.34.1(eslint@9.29.0(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.8.3)':
'@typescript-eslint/type-utils@8.34.1(eslint@9.29.0)(typescript@5.8.3)':
dependencies:
'@typescript-eslint/typescript-estree': 8.34.1(supports-color@7.2.0)(typescript@5.8.3)
'@typescript-eslint/utils': 8.34.1(eslint@9.29.0(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.8.3)
debug: 4.3.7(supports-color@7.2.0)
eslint: 9.29.0(supports-color@7.2.0)
'@typescript-eslint/typescript-estree': 8.34.1(typescript@5.8.3)
'@typescript-eslint/utils': 8.34.1(eslint@9.29.0)(typescript@5.8.3)
debug: 4.3.7
eslint: 9.29.0
ts-api-utils: 2.1.0(typescript@5.8.3)
typescript: 5.8.3
transitivePeerDependencies:
@@ -933,13 +929,13 @@ snapshots:
'@typescript-eslint/types@8.34.1': {}
'@typescript-eslint/typescript-estree@8.34.1(supports-color@7.2.0)(typescript@5.8.3)':
'@typescript-eslint/typescript-estree@8.34.1(typescript@5.8.3)':
dependencies:
'@typescript-eslint/project-service': 8.34.1(supports-color@7.2.0)(typescript@5.8.3)
'@typescript-eslint/project-service': 8.34.1(typescript@5.8.3)
'@typescript-eslint/tsconfig-utils': 8.34.1(typescript@5.8.3)
'@typescript-eslint/types': 8.34.1
'@typescript-eslint/visitor-keys': 8.34.1
debug: 4.3.7(supports-color@7.2.0)
debug: 4.3.7
fast-glob: 3.3.2
is-glob: 4.0.3
minimatch: 9.0.9
@@ -949,13 +945,13 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/utils@8.34.1(eslint@9.29.0(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.8.3)':
'@typescript-eslint/utils@8.34.1(eslint@9.29.0)(typescript@5.8.3)':
dependencies:
'@eslint-community/eslint-utils': 4.7.0(eslint@9.29.0(supports-color@7.2.0))
'@eslint-community/eslint-utils': 4.7.0(eslint@9.29.0)
'@typescript-eslint/scope-manager': 8.34.1
'@typescript-eslint/types': 8.34.1
'@typescript-eslint/typescript-estree': 8.34.1(supports-color@7.2.0)(typescript@5.8.3)
eslint: 9.29.0(supports-color@7.2.0)
'@typescript-eslint/typescript-estree': 8.34.1(typescript@5.8.3)
eslint: 9.29.0
typescript: 5.8.3
transitivePeerDependencies:
- supports-color
@@ -986,12 +982,12 @@ snapshots:
balanced-match@1.0.2: {}
brace-expansion@1.1.21:
brace-expansion@1.1.12:
dependencies:
balanced-match: 1.0.2
concat-map: 0.0.1
brace-expansion@2.1.7:
brace-expansion@2.0.2:
dependencies:
balanced-match: 1.0.2
@@ -1020,11 +1016,9 @@ snapshots:
shebang-command: 2.0.0
which: 2.0.2
debug@4.3.7(supports-color@7.2.0):
debug@4.3.7:
dependencies:
ms: 2.1.3
optionalDependencies:
supports-color: 7.2.0
deep-is@0.1.4: {}
@@ -1067,17 +1061,17 @@ snapshots:
eslint-visitor-keys@4.2.1: {}
eslint@9.29.0(supports-color@7.2.0):
eslint@9.29.0:
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.29.0(supports-color@7.2.0))
'@eslint-community/eslint-utils': 4.4.0(eslint@9.29.0)
'@eslint-community/regexpp': 4.12.1
'@eslint/config-array': 0.20.1(supports-color@7.2.0)
'@eslint/config-array': 0.20.1
'@eslint/config-helpers': 0.2.3
'@eslint/core': 0.14.0
'@eslint/eslintrc': 3.3.1(supports-color@7.2.0)
'@eslint/eslintrc': 3.3.1
'@eslint/js': 9.29.0
'@eslint/plugin-kit': 0.3.5
'@humanfs/node': 0.16.8
'@humanfs/node': 0.16.6
'@humanwhocodes/module-importer': 1.0.1
'@humanwhocodes/retry': 0.4.3
'@types/estree': 1.0.8
@@ -1085,7 +1079,7 @@ snapshots:
ajv: 6.14.0
chalk: 4.1.2
cross-spawn: 7.0.6
debug: 4.3.7(supports-color@7.2.0)
debug: 4.3.7
escape-string-regexp: 4.0.0
eslint-scope: 8.4.0
eslint-visitor-keys: 4.2.1
@@ -1198,7 +1192,7 @@ snapshots:
isexe@2.0.0: {}
js-yaml@4.3.2:
js-yaml@4.1.1:
dependencies:
argparse: 2.0.1
@@ -1228,15 +1222,15 @@ snapshots:
micromatch@4.0.8:
dependencies:
braces: 3.0.3
picomatch: 2.3.2
picomatch: 2.3.1
minimatch@3.1.5:
dependencies:
brace-expansion: 1.1.21
brace-expansion: 1.1.12
minimatch@9.0.9:
dependencies:
brace-expansion: 2.1.7
brace-expansion: 2.0.2
ms@2.1.3: {}
@@ -1267,7 +1261,7 @@ snapshots:
path-key@3.1.1: {}
picomatch@2.3.2: {}
picomatch@2.3.1: {}
prelude-ls@1.2.1: {}
@@ -1309,12 +1303,12 @@ snapshots:
dependencies:
prelude-ls: 1.2.1
typescript-eslint@8.34.1(eslint@9.29.0(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.8.3):
typescript-eslint@8.34.1(eslint@9.29.0)(typescript@5.8.3):
dependencies:
'@typescript-eslint/eslint-plugin': 8.34.1(@typescript-eslint/parser@8.34.1(eslint@9.29.0(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.8.3))(eslint@9.29.0(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.8.3)
'@typescript-eslint/parser': 8.34.1(eslint@9.29.0(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.8.3)
'@typescript-eslint/utils': 8.34.1(eslint@9.29.0(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.8.3)
eslint: 9.29.0(supports-color@7.2.0)
'@typescript-eslint/eslint-plugin': 8.34.1(@typescript-eslint/parser@8.34.1(eslint@9.29.0)(typescript@5.8.3))(eslint@9.29.0)(typescript@5.8.3)
'@typescript-eslint/parser': 8.34.1(eslint@9.29.0)(typescript@5.8.3)
'@typescript-eslint/utils': 8.34.1(eslint@9.29.0)(typescript@5.8.3)
eslint: 9.29.0
typescript: 5.8.3
transitivePeerDependencies:
- supports-color
+1 -1
View File
@@ -404,7 +404,7 @@ class CppGenerator : public BaseGenerator {
code_ += "struct {{STRUCT_NAME}}BinarySchema {";
code_ += " static const uint8_t *data() {";
code_ += " // Buffer containing the binary schema.";
code_ += " alignas(uint64_t) static const uint8_t bfbsData[" +
code_ += " static const uint8_t bfbsData[" +
NumToString(parser_.builder_.GetSize()) + "] = {";
code_ += binary_schema_hex_text;
code_ += " };";
+8 -38
View File
@@ -16,30 +16,6 @@
import Foundation
@inline(__always)
private func verifySizePrefix(
byteBuffer: inout ByteBuffer,
requireExactSize: Bool,
options: VerifierOptions) throws
{
let verifier = try Verifier(buffer: &byteBuffer, options: options)
let prefixPosition = byteBuffer.reader
let prefix: UOffset = try verifier.getValue(at: prefixPosition)
let availableSize = byteBuffer.size &- UOffset(MemoryLayout<UOffset>.size)
if requireExactSize {
guard prefix == availableSize else {
throw FlatbuffersErrors.prefixedSizeNotEqualToBufferSize
}
} else if prefix > availableSize {
throw FlatbuffersErrors.outOfBounds(
position: UInt(prefixPosition)
&+ UInt(MemoryLayout<UOffset>.size)
&+ UInt(prefix),
end: byteBuffer.capacity)
}
}
/// Takes in a prefixed sized buffer, where the prefixed size would be skipped.
/// And would verify that the buffer passed is a valid `Flatbuffers` Object.
/// - Parameters:
@@ -55,10 +31,6 @@ public func getPrefixedSizeCheckedRoot<T: FlatBufferTable & Verifiable>(
fileId: String? = nil,
options: VerifierOptions = .init()) throws -> T
{
try verifySizePrefix(
byteBuffer: &byteBuffer,
requireExactSize: false,
options: options)
byteBuffer.skipPrefix()
return try getCheckedRoot(
byteBuffer: &byteBuffer,
@@ -81,11 +53,10 @@ public func getCheckedPrefixedSizeRoot<T: FlatBufferTable & Verifiable>(
fileId: String? = nil,
options: VerifierOptions = .init()) throws -> T
{
try verifySizePrefix(
byteBuffer: &byteBuffer,
requireExactSize: true,
options: options)
byteBuffer.skipPrefix()
let prefix = byteBuffer.skipPrefix()
if prefix != byteBuffer.size {
throw FlatbuffersErrors.prefixedSizeNotEqualToBufferSize
}
return try getCheckedRoot(
byteBuffer: &byteBuffer,
fileId: fileId,
@@ -124,15 +95,14 @@ public func getCheckedRoot<T: FlatBufferTable & Verifiable>(
options: VerifierOptions = .init()) throws -> T
{
var verifier = try Verifier(buffer: &byteBuffer, options: options)
let rootPosition = byteBuffer.reader
if let fileId = fileId {
try verifier.verify(id: fileId, at: rootPosition)
try verifier.verify(id: fileId)
}
try ForwardOffset<T>.verify(&verifier, at: rootPosition, of: T.self)
try ForwardOffset<T>.verify(&verifier, at: 0, of: T.self)
return T.init(
byteBuffer,
o: Int32(byteBuffer.read(def: UOffset.self, position: rootPosition))
&+ Int32(rootPosition))
o: Int32(byteBuffer.read(def: UOffset.self, position: byteBuffer.reader))
&+ Int32(byteBuffer.reader))
}
/// Returns a `NON-Checked` flatbuffers object
+3 -7
View File
@@ -215,16 +215,12 @@ public struct Verifier {
}
@inline(__always)
func verify(id: String, at position: Int) throws {
func verify(id: String) throws {
let size = MemoryLayout<Int32>.size
guard
position >= 0,
position <= storage.capacity,
storage.capacity - position >= size &* 2
else {
guard storage.capacity >= (size &* 2) else {
throw FlatbuffersErrors.bufferDoesntContainID
}
let str = _buffer.readString(at: position &+ size, count: size)
let str = _buffer.readString(at: size, count: size)
if id == str {
return
}
+1 -1
View File
@@ -12,7 +12,7 @@ namespace Example {
struct MonsterBinarySchema {
static const uint8_t *data() {
// Buffer containing the binary schema.
alignas(uint64_t) static const uint8_t bfbsData[14520] = {
static const uint8_t bfbsData[14520] = {
0x20,0x00,0x00,0x00,0x42,0x46,0x42,0x53,0x00,0x00,0x00,0x00,0x14,0x00,0x20,0x00,0x04,0x00,0x08,0x00,
0x0C,0x00,0x10,0x00,0x14,0x00,0x18,0x00,0x00,0x00,0x1C,0x00,0x14,0x00,0x00,0x00,0x58,0x00,0x00,0x00,
0x34,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x70,0x0D,0x00,0x00,0x08,0x00,0x00,0x00,
@@ -373,58 +373,6 @@ final class FlatbuffersVerifierTests {
}
}
@Test
func testSizePrefixedVerifierUsesPostPrefixRoot() throws {
// The size prefix points to a valid empty decoy table at byte 44. The real
// root at byte 4 points to a truncated UInt64 vector that must be rejected.
let bytes: [UInt8] = [
44, 0, 0, 0,
16, 0, 0, 0,
6, 0, 8, 0, 4, 0,
0, 0, 0, 0, 0, 0,
12, 0, 0, 0,
8, 0, 0, 0, 0, 0, 0, 0,
2, 0, 0, 0, 65, 66,
0, 0,
4, 0, 4, 0,
4, 0, 0, 0,
]
var strictBuffer = ByteBuffer(bytes: bytes)
#expect(throws: FlatbuffersErrors.self) {
try getCheckedPrefixedSizeRoot(
byteBuffer: &strictBuffer) as Swift_Tests_Vectors
}
var prefixedBuffer = ByteBuffer(bytes: bytes)
#expect(throws: FlatbuffersErrors.self) {
try getPrefixedSizeCheckedRoot(
byteBuffer: &prefixedBuffer) as Swift_Tests_Vectors
}
var builder = FlatBufferBuilder()
let movie = Movie.createMovie(&builder)
Movie.finish(&builder, end: movie, prefix: true)
var validBuffer = builder.sizedBuffer
let _: Movie = try getCheckedPrefixedSizeRoot(
byteBuffer: &validBuffer,
fileId: Movie.id)
var shortBuffer = ByteBuffer(bytes: [0, 0, 0, 0])
#expect(throws: FlatbuffersErrors.bufferDoesntContainID) {
try getCheckedRoot(
byteBuffer: &shortBuffer,
fileId: Movie.id) as Movie
}
var oversizedPrefix = ByteBuffer(bytes: [5, 0, 0, 0, 0, 0, 0, 0])
#expect(throws: FlatbuffersErrors.outOfBounds(position: 9, end: 8)) {
try getPrefixedSizeCheckedRoot(
byteBuffer: &oversizedPrefix) as Movie
}
#expect(oversizedPrefix.reader == 0)
}
@Test
func testFullVerifier() throws {
_ =
@@ -3,6 +3,6 @@
"type": "module",
"private": true,
"devDependencies": {
"lodash": "4.18.1"
"lodash": "4.17.23"
}
}