diff options
author | Shea Levy <shea@shealevy.com> | 2018-04-23T12·43-0400 |
---|---|---|
committer | Shea Levy <shea@shealevy.com> | 2018-04-23T12·43-0400 |
commit | e2b028353b198d1590ee14101dbb74cd2a4c5730 (patch) | |
tree | 49efda1c90f82f5bf3a0cbd575e6bd63e5e78446 | |
parent | 0aae411eaa0588553af54cc096baefd6e9cacb51 (diff) | |
parent | af86132e1afa65b4b466af3ea9c7084836c91ee0 (diff) |
Merge branch 'pos-crash-fix' of git://github.com/dezgeg/nix
-rw-r--r-- | src/libexpr/eval.cc | 2 | ||||
-rw-r--r-- | tests/lang/eval-okay-getattrpos-undefined.exp | 1 | ||||
-rw-r--r-- | tests/lang/eval-okay-getattrpos-undefined.nix | 1 |
3 files changed, 3 insertions, 1 deletions
diff --git a/src/libexpr/eval.cc b/src/libexpr/eval.cc index 37b977736e28..8548990795ab 100644 --- a/src/libexpr/eval.cc +++ b/src/libexpr/eval.cc @@ -628,7 +628,7 @@ void EvalState::mkThunk_(Value & v, Expr * expr) void EvalState::mkPos(Value & v, Pos * pos) { - if (pos) { + if (pos && pos->file.set()) { mkAttrs(v, 3); mkString(*allocAttr(v, sFile), pos->file); mkInt(*allocAttr(v, sLine), pos->line); diff --git a/tests/lang/eval-okay-getattrpos-undefined.exp b/tests/lang/eval-okay-getattrpos-undefined.exp new file mode 100644 index 000000000000..19765bd501b6 --- /dev/null +++ b/tests/lang/eval-okay-getattrpos-undefined.exp @@ -0,0 +1 @@ +null diff --git a/tests/lang/eval-okay-getattrpos-undefined.nix b/tests/lang/eval-okay-getattrpos-undefined.nix new file mode 100644 index 000000000000..14dd38f7734c --- /dev/null +++ b/tests/lang/eval-okay-getattrpos-undefined.nix @@ -0,0 +1 @@ +builtins.unsafeGetAttrPos "abort" builtins |