1
1
Fork 0
mirror of https://github.com/NixOS/nix.git synced 2025-12-03 23:51:00 +01:00
nix/src/libutil
Sergei Zimmerman b2596a7615
libutil: Add custom PeekSort implementation
Unlike std::sort and std::stable_sort, this implementation
does not lead to out-of-bounds memory reads or other undefined
behavior when the predicate is not strict weak ordering.

This makes it possible to use this function in libexpr for
builtins.sort, where an incorrectly implemented comparator
in the user nix code currently can crash and burn the evaluator
by invoking C++ UB.
2025-06-15 16:52:01 +00:00
..
freebsd flake: Add meson formatter 2025-06-11 22:08:03 +00:00
include/nix/util libutil: Add custom PeekSort implementation 2025-06-15 16:52:01 +00:00
linux flake: Add meson formatter 2025-06-11 22:08:03 +00:00
signature Expose the nix component in header include paths 2025-04-01 11:40:42 -04:00
unix Fix various typos in source code 2025-05-25 20:14:11 +00:00
widecharwidth try to calculate character width 2024-12-28 12:01:32 +01:00
windows flake: Add meson formatter 2025-06-11 22:08:03 +00:00
.version Build nix-util with Meson 2024-06-12 18:31:02 -04:00
archive.cc Use StringMap instead of std::map<std::string, std::string> throughout the codebase 2025-05-19 20:33:28 +00:00
args.cc treewide: Use StringSet alias consistently instead of std::set<std::string> 2025-05-02 17:40:29 +00:00
canon-path.cc Expose the nix component in header include paths 2025-04-01 11:40:42 -04:00
compression.cc Expose the nix component in header include paths 2025-04-01 11:40:42 -04:00
compute-levels.cc Expose the nix component in header include paths 2025-04-01 11:40:42 -04:00
config-global.cc Simplify ConfigRegistrations 2025-05-05 09:42:16 +02:00
configuration.cc treewide: Use StringSet alias consistently instead of std::set<std::string> 2025-05-02 17:40:29 +00:00
current-process.cc Prepare for FreeBSD sandboxing support 2025-05-27 14:54:50 -04:00
english.cc Expose the nix component in header include paths 2025-04-01 11:40:42 -04:00
environment-variables.cc Use StringMap instead of std::map<std::string, std::string> throughout the codebase 2025-05-19 20:33:28 +00:00
error.cc libutil: Use std::shared_ptr<const Pos> instead of std::shared_ptr<Pos> 2025-06-01 20:55:26 +00:00
executable-path.cc Drop fs alias in favour of std::filesystem 2025-05-01 14:24:34 +02:00
exit.cc Expose the nix component in header include paths 2025-04-01 11:40:42 -04:00
experimental-features.cc treewide: Use StringSet alias consistently instead of std::set<std::string> 2025-05-02 17:40:29 +00:00
file-content-address.cc libutil: Add missing format arguments to UsageError ctor 2025-04-25 13:35:16 +03:00
file-descriptor.cc Fix more -Wundef, in darwin context 2025-04-05 01:04:58 +02:00
file-system.cc deletePath(): Keep going when encountering an undeletable file 2025-06-02 14:54:01 +02:00
fs-sink.cc Add -Wundef to make #if FOO an error if not defined 2025-04-05 00:45:19 +02:00
git.cc libutil: Use correct argument to Error format ctor 2025-04-24 22:27:03 +00:00
hash.cc Fix various typos in source code 2025-05-25 20:14:11 +00:00
hilite.cc Fix various typos in source code 2025-05-25 20:14:11 +00:00
json-utils.cc bugfix in getInteger(const nlohmann::json &) and add bounds checks 2025-04-30 01:38:48 +02:00
logging.cc libutil: Use std::shared_ptr<const Pos> instead of std::shared_ptr<Pos> 2025-06-01 20:55:26 +00:00
memory-source-accessor.cc Clear displayPrefix in makeEmptySourceAccessor 2025-05-29 19:35:12 +00:00
meson.build Prepare for FreeBSD sandboxing support 2025-05-27 14:54:50 -04:00
meson.options Build nix-util with Meson 2024-06-12 18:31:02 -04:00
mounted-source-accessor.cc Expose the nix component in header include paths 2025-04-01 11:40:42 -04:00
nix-meson-build-support rename: build-utils-meson -> nix-meson-build-support 2024-12-09 16:54:42 +01:00
package.nix Fix FreeBSD builds 2025-05-28 12:47:33 -04:00
pos-table.cc libexpr: Actually cache line information in PosTable 2025-05-15 23:07:25 +00:00
position.cc libutil: Use std::shared_ptr<const Pos> instead of std::shared_ptr<Pos> 2025-06-01 20:55:26 +00:00
posix-source-accessor.cc replace all instances of std::filesystem::directory_iterator with DirectoryIterator 2025-05-01 11:54:26 +02:00
references.cc Expose the nix component in header include paths 2025-04-01 11:40:42 -04:00
serialise.cc Expose the nix component in header include paths 2025-04-01 11:40:42 -04:00
source-accessor.cc cherry-pick https://gerrit.lix.systems/c/lix/+/2100 2025-05-21 08:49:09 -07:00
source-path.cc Expose the nix component in header include paths 2025-04-01 11:40:42 -04:00
strings.cc treewide: Use StringSet alias consistently instead of std::set<std::string> 2025-05-02 17:40:29 +00:00
subdir-source-accessor.cc Store::getFSAccessor: Do not include the store dir 2025-04-09 17:34:18 -04:00
suggestions.cc treewide: Use StringSet alias consistently instead of std::set<std::string> 2025-05-02 17:40:29 +00:00
tarfile.cc Merge pull request #13175 from xokdvium/optimise-fetchtarball 2025-05-13 14:21:26 +02:00
tee-logger.cc Add json-log-path setting 2025-05-23 10:45:12 +02:00
terminal.cc libutil: amend OSC 8 escape stripping for xterm-style separator 2025-04-29 16:12:18 +01:00
thread-pool.cc Expose the nix component in header include paths 2025-04-01 11:40:42 -04:00
union-source-accessor.cc Expose the nix component in header include paths 2025-04-01 11:40:42 -04:00
unix-domain-socket.cc Fix mingw build 2025-05-28 00:48:10 +02:00
url.cc Use StringMap instead of std::map<std::string, std::string> throughout the codebase 2025-05-19 20:33:28 +00:00
users.cc Expose the nix component in header include paths 2025-04-01 11:40:42 -04:00
util.cc Rename shellEscape -> escapeShellArgAlways 2025-04-23 22:56:07 +02:00
xml-writer.cc Expose the nix component in header include paths 2025-04-01 11:40:42 -04:00