Malloc Guard
Based on published sources · Not tested by us ·
Overview
C++ allocation monitor for detecting heap operations inside designated real-time sections. [S001]
Malloc Guard is a C++ library for catching heap allocation calls in designated real-time code. It intercepts allocator functions and allows reactions including abort, logging, storing violations or a callback. It does not make a loop deterministic simply by linking the library. [S001]
Specifications
| Detail | Description |
|---|---|
| Intended users | C++ developers investigating allocations in time-sensitive robot code Editorial assessment [S001] · Checked 2026-09-30 |
| Required software | C++20 compiler; CMake 3.24+ or Bazel Reported by source [S001] · Checked 2026-09-30 |
| Installation | Link malloc_guard through CMake FetchContent/find_package or the Bazel module and target. Reported by source [S001] · Checked 2026-09-30 |
| Uses | Install allocation hooks; Monitor designated thread sections and handle violations Reported by source [S001] · Checked 2026-09-30 |
| File formats | Not known |
| Development status | prototype Source-researched component with no release or installation validation by this publication. Editorial assessment [S001] · Checked 2026-09-30 |
3D preview
A robot-part preview is not applicable to this software project profile.
Installation and use
The hook and the thread guard do different jobs
The documented sequence first installs ScopedMallocGuardHook outside the real-time section and keeps it alive for the relevant threads. Inside a thread, choose the reaction and create MallocGuard around the monitored section. The README's example chooses abort, so an unexpected allocation is intended to stop that run rather than silently record the event. [S001]
Integration requires a C++20 compiler and either CMake 3.24 or newer, or Bazel. CMake users can use FetchContent or an installed package; Bazel users can link the exported target. Pin the reviewed commit instead of copying the README's moving main reference when reproducibility matters. [S001] [S090]
The root license is Apache-2.0. We have not compiled the example, tested interception coverage or measured overhead. Passing an allocation check would still leave scheduling, synchronization and end-to-end timing to evaluate in the actual control application. [S002]
Source files and licenses
Useful open software component with documented development workflow; dependency rights, configuration matching and runtime results remain separate.
| Layer | Availability / license |
|---|---|
| software | available · Apache-2.0 Inspected root license for this repository. External dependencies, vendor SDKs, models and third-party geometry are not relicensed by it. [S001] [S002] |
| documentation | available · Apache-2.0 Inspected root license for this repository. External dependencies, vendor SDKs, models and third-party geometry are not relicensed by it. [S001] [S002] |
No particular model weights or dataset is offered or assessed by this component profile.
References
Links identify the documentation and revisions used in this profile. Access dates record when each source was retrieved.
- S001 · Intrinsic Innovation LLC / project contributors
malloc-guard: README.md
Accessed 2026-09-30 · ffd1a0b0bf4d1d58d1068c3a37041d9da70da4a3 / README.mdSource notes
Pinned source inspected for the specific workflow, requirement or license claims cited.
- S002 · Intrinsic Innovation LLC / project contributors
malloc-guard: LICENSE
Accessed 2026-09-30 · ffd1a0b0bf4d1d58d1068c3a37041d9da70da4a3 / LICENSESource notes
Pinned source inspected for the specific workflow, requirement or license claims cited.
- S090 · Intrinsic Innovation LLC / GitHub metadata
Pinned repository metadata
Accessed 2026-09-30 · ffd1a0b0bf4d1d58d1068c3a37041d9da70da4a3Source notes
Immutable commit snapshot; no published stable release returned in the inspected release list.
Correction guidance · Discussion is not enabled · Profile format 0.6.0-draft.1
Change history
2026-09-30 — Initial pinned-source component profile with setup route and integration boundaries.