diff options
author | Théophane Hufschmitt <theophane.hufschmitt@tweag.io> | 2022-06-21 14:08:18 +0200 |
---|---|---|
committer | Théophane Hufschmitt <theophane.hufschmitt@tweag.io> | 2022-06-21 14:08:18 +0200 |
commit | 983efdbde47bd0ecaff866d43c3155761574c112 (patch) | |
tree | b79cb0cca633a2cedabbda938d0090cc9bbd35e7 /src/libexpr | |
parent | 16c6c6c963e78aff1911054fe4145b891d8e9fc8 (diff) |
Forbid the tilde expansion in pure eval mode
Fix #6684
Diffstat (limited to 'src/libexpr')
-rw-r--r-- | src/libexpr/parser.y | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/libexpr/parser.y b/src/libexpr/parser.y index 8cbc2da4d..7c9b5a2db 100644 --- a/src/libexpr/parser.y +++ b/src/libexpr/parser.y @@ -520,6 +520,12 @@ path_start $$ = new ExprPath(path); } | HPATH { + if (evalSettings.pureEval) { + throw Error( + "the path '%s' can not be resolved in pure mode", + std::string_view($1.p, $1.l) + ); + } Path path(getHome() + std::string($1.p + 1, $1.l - 1)); $$ = new ExprPath(path); } |