commit | 2246abec6ddebff6050a23a36423315caeee4fd4 | [log] [tgz] |
---|---|---|
author | David Brazdil <dbrazdil@google.com> | Fri Aug 23 12:21:06 2019 +0100 |
committer | David Brazdil <dbrazdil@google.com> | Wed Aug 28 14:11:41 2019 +0100 |
tree | 79e6af188846dcf2c4f54c37b517e78ce1b745a4 | |
parent | 4b976f45234c59cfa98eb8ea5b14bdbea0078f08 [diff] |
std.c: Refactor, bring semantics closer to spec. Small refactor replacing the pattern of verifying inputs in safe equivalents of stdlib functions with a CHECK-like macro which adheres to the C11 semantics of filling the destination buffer when a constraint is not satisfied at runtime. Semantic changes: memcpy_s: More permissive memory ranges. Used to check that source does not overlap with the entire destination buffer, when only the first `count` bytes matter. memcpy_s: Used to allow `dest==src`. Safe under our implementation in aarch64 but not allowed under C11. strlen_s: Should return 'strsz' if NULL character not found. Change-Id: If483a97e6ee1c64c7f2afed9a0af1d3087da7002
Hafnium is a hypervisor, initially supporting aarch64 (64-bit ARMv8 CPUs).
Get in touch and keep up-to-date at hafnium-discuss@googlegroups.com.
To jump in and build Hafnium, follow the getting started instructions.
If you want to contribute to the project, see details of how we accept contributions.
More documentation is available on: