lix/tests/unit
eldritch horrors d55b158e24 libutil: make rewriteStrings sound
this is used in CA rewriting, replacement of placeholders in
derivations, generating scripts for devShells, and some more
places. in all of these transitive replacements are unsound,
and overlapping replacements would be as well. there even is
a test that transitive replacements do not happen (in the CA
RewriteSink suite), but none for overlapping replacements. a
minimally surprising binary rewriter surely would not do any
of these replacements, the only reason we have not seen this
break yet is probably that rewriteStrings is only called for
store paths and things that look like store paths (and those
should never overlap nor admit such transitive replacements)

Change-Id: I6fc29f939d5061d9f56c752624a823ece8437c07
2024-05-03 00:50:31 +00:00
..
libexpr use byte indexed locations for PosIdx 2024-03-18 16:12:46 +01:00
libexpr-support Merge pull request #10208 from 9999years/print-strings-directly 2024-04-07 19:10:43 -07:00
libstore Disallow store path names that are . or .. (plus opt. -) 2024-05-02 19:34:38 +02:00
libstore-support test: Generate distinct path names 2024-05-02 19:34:04 +02:00
libutil libutil: make rewriteStrings sound 2024-05-03 00:50:31 +00:00
libutil-support test: Generate distinct hashes 2024-05-02 19:34:21 +02:00
meson.build implement parsing human-readable names from URLs 2024-04-30 18:11:14 -06:00