From 47ba37528501079892ef549c419bf55008a82c91 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 6 Nov 2025 13:06:08 +0100 Subject: [PATCH] Don't crash on flakerefs containing newlines Fixes #14311. (cherry picked from commit c1317017e902f34631f2f4598710114d36e84ee4) --- src/libflake/flakeref.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libflake/flakeref.cc b/src/libflake/flakeref.cc index 38979783d..2474c2cc4 100644 --- a/src/libflake/flakeref.cc +++ b/src/libflake/flakeref.cc @@ -80,7 +80,8 @@ std::pair parsePathFlakeRefWithFragment( std::smatch match; auto succeeds = std::regex_match(url, match, pathFlakeRegex); - assert(succeeds); + if (!succeeds) + throw Error("invalid flakeref '%s'", url); auto path = match[1].str(); auto query = decodeQuery(match[3].str(), /*lenient=*/true); auto fragment = percentDecode(match[5].str());