Skip to content

fix: validate live tensor FlatBuffers - #1380

Draft
fvaloppi-nv wants to merge 2 commits into
release/1.6.xfrom
codex/fix-1.6-flatbuffer-verification
Draft

fvaloppi-nv wants to merge 2 commits into
release/1.6.xfrom
codex/fix-1.6-flatbuffer-verification

Conversation

@fvaloppi-nv

@fvaloppi-nv fvaloppi-nv commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Description

Fix the live tensor ingestion boundary so malformed FlatBuffer bytes are never accessed or published as typed data.

  • Verify each payload with the expected FlatBuffer table before field access, unpacking, recording, or adoption.
  • Return owning typed handles from the verification boundary so callers cannot invalidate borrowed FlatBuffer roots.
  • Retain the last-known-good data sample when malformed input is rejected; fail closed and clear actuator state when a haptic batch contains a malformed command.
  • Reject zero, inconsistent, or oversized runtime sample layouts before their values control allocation or copying, while allowing protocol-compliant padding by bounding payload size and stride separately.
  • Emit malformed-sample warnings at power-of-two totals to retain diagnostics without per-frame log floods.
  • Keep concise comments at both enforcement points explaining the trust-boundary invariant and why GetRoot() alone is insufficient.
  • Add regression coverage for valid, empty, truncated, and corrupt payloads; initial-empty, retain, publish, and collection-loss transitions; and independent sample-size/stride limits.

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Testing

  • SKIP=check-copyright-year pre-commit run --all-files
  • clang-format --dry-run --Werror on all touched C++ files
  • cmake --build /tmp/isaac-capture-flatbuffer-build --target live_trackers_tests --parallel 4
  • /tmp/isaac-capture-flatbuffer-build/tests/cpp/core/live_trackers/live_trackers_tests --reporter compact (135 assertions in 23 test cases)

Checklist

  • I have read and understood the contribution guidelines
  • I have run the linter and formatter with SKIP=check-copyright-year pre-commit run --all-files
  • No user-facing documentation change is needed; the internal tracker guidance records the validation and fail-closed invariants
  • I have added tests that prove the fix works
  • I have signed off all commits (git commit -s) per the DCO

@coderabbitai

coderabbitai Bot commented Oct 28, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

Signed-off-by: fvaloppi-nv <fvaloppi@nvidia.com>
Signed-off-by: fvaloppi-nv <fvaloppi@nvidia.com>

This branch was successfully deployed

1 active deployment
dev — a8670ba7 Deployed Oct 30, 2026 by fvaloppi-nv via publish-wheel #6340
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants