lix/src
Sergei Trofimovich b74962c92b src/libexpr/search-path.cc: avoid out-of-bounds read on string_view
Without the change build with `-D_GLIBCXX_ASSERTIONS` exposes testsuite
assertion:

    $ gdb src/libexpr/tests/libnixexpr-tests
    Reading symbols from src/libexpr/tests/libnixexpr-tests...
    (gdb) break __glibcxx_assert_fail
    (gdb) run
    (gdb) bt
    in std::__glibcxx_assert_fail(char const*, int, char const*, char const*)@plt () from /mnt/archive/big/git/nix/src/libexpr/libnixexpr.so
    in std::basic_string_view<char, std::char_traits<char> >::operator[] (this=0x7fffffff56c0, __pos=4)
        at /nix/store/r74fw2j8rx5idb0w8s1s6ynwwgs0qmh9-gcc-14.0.0/include/c++/14.0.0/string_view:258
    in nix::SearchPath::Prefix::suffixIfPotentialMatch (this=0x7fffffff5780, path=...) at src/libexpr/search-path.cc:15
    in nix::SearchPathElem_suffixIfPotentialMatch_partialPrefix_Test::TestBody (this=0x555555a17540) at src/libexpr/tests/search-path.cc:62

As string sizes are usigned types `(a - b) > 0` effectively means
`a != b`. While the intention should be `a > b`.

The change fixes test suite pass.
2023-08-14 22:07:37 +01:00
..
build-remote Make the Derived Path family of types inductive for dynamic derivations 2023-08-10 00:08:32 -04:00
libcmd Make the Derived Path family of types inductive for dynamic derivations 2023-08-10 00:08:32 -04:00
libexpr src/libexpr/search-path.cc: avoid out-of-bounds read on string_view 2023-08-14 22:07:37 +01:00
libfetchers Don't require .tar/.zip extension for tarball flakerefs 2023-08-01 16:07:20 +02:00
libmain nix: Support the --repair flag 2023-04-28 17:03:04 +02:00
libstore Rework evaluator SingleDerivedPath infra 2023-08-14 08:44:50 -04:00
libutil Make the Derived Path family of types inductive for dynamic derivations 2023-08-10 00:08:32 -04:00
nix Create outputOf primop. 2023-08-14 09:37:37 -04:00
nix-build Make the Derived Path family of types inductive for dynamic derivations 2023-08-10 00:08:32 -04:00
nix-channel Factor out nix-defexpr path computation 2023-08-02 12:54:48 -04:00
nix-collect-garbage Clean up a few things related to profiles (#8526) 2023-06-19 04:04:59 +00:00
nix-copy-closure Remove FormatOrString and remaining uses of format() 2023-03-02 15:57:54 +01:00
nix-env Merge pull request #8735 from obsidiansystems/defexpr 2023-08-11 20:32:03 +02:00
nix-instantiate nix: Support the --repair flag 2023-04-28 17:03:04 +02:00
nix-store Simplify ContentAddress 2023-07-07 07:30:01 -04:00
resolve-system-dependencies Remove FormatOrString and remaining uses of format() 2023-03-02 15:57:54 +01:00
toml11 Replace cpptoml with toml11 2021-12-17 22:03:33 +01:00