mirror of https://github.com/lukechilds/node.git
Browse Source
Original commit message: Make FieldType::None() non-nullptr value to avoid undefined behaviour When FieldType::None() returns a cast Smi::FromInt(0), which translates as nullptr, the FieldType::IsNone() check becomes equivalent to `this == nullptr` which is not allowed by the standard and therefore optimized away as a false constant by GCC 6. This has lead to crashes when invoking methods on FieldType::None(). Using a different Smi constant for FieldType::None() makes the compiler always include a comparison against that value. The choice of these constants has no effect as they are effectively arbitrary. BUG=https://github.com/nodejs/node/issues/8310 Review-Url: https://codereview.chromium.org/2292953002 Cr-Commit-Position: refs/heads/master@{#39023} Fixes: https://github.com/nodejs/node/issues/8310 PR-URL: https://github.com/nodejs/node/pull/8411 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>v6.x
Anna Henningsen
8 years ago
2 changed files with 14 additions and 1 deletions
Loading…
Reference in new issue