A modern, delicious implementation of the Nix package manager, focused on correctness, usability, and growth — and committed to doing right by its community
Find a file
Qyriad 99903f24eb fix integer overflow on i686 with high phys memory
sizeof(long) is 4 bytes on i686 GCC.
With ~32 GiB of memory and a page size of 4096, there are 7988420 pages.
(7988420 * 4096) is bigger than INT32_MAX folks.

This has gone unnoticed for 9 years, and only came up thanks to
94ea517db[1] adding integer overflow sensitization checks, which caused
this broken code to emit an illegal instruction, crashing Lix the
instant the buildsystem ran Lix to generate the docs files.

[1]: 94ea517dbe729765b69638190f4bea3f6a632b40

Change-Id: I50bb9ea072aac11b449d79e5d55525887a6e5a99
2024-05-05 19:47:46 +00:00
.github
bench
clang-tidy
contrib
doc doc: fix build littering doc/ 2024-05-05 16:13:27 +00:00
lix-doc
m4
maintainers
meson
misc
mk
nix-support
perl
scripts
src fix integer overflow on i686 with high phys memory 2024-05-05 19:47:46 +00:00
tests filetransfer: abort transfer on receiver exception 2024-05-05 18:09:31 +00:00
.clang-format
.clang-tidy
.dir-locals.el
.editorconfig
.envrc
.gitignore
.version
boehmgc-coroutine-sp-fallback.diff
boehmgc-traceable_allocator-public.diff
configure.ac
CONTRIBUTING.md
COPYING
default.nix
docker.nix
flake.lock
flake.nix add a contributor notice message to the dev shell hook 2024-05-05 11:22:38 -06:00
justfile
local.mk
Makefile
Makefile.config.in
meson.build
meson.options
package.nix
precompiled-headers.h
README.md
shell.nix
treefmt.toml

Nix

Open Collective supporters Test

Nix is a powerful package manager for Linux and other Unix systems that makes package management reliable and reproducible. Please refer to the Nix manual for more details.

Installation

On Linux and macOS the easiest way to install Nix is to run the following shell command (as a user other than root):

$ curl -L https://nixos.org/nix/install | sh

Information on additional installation methods is available on the Nix download page.

Building And Developing

See our Hacking guide in our manual for instruction on how to to set up a development environment and build Nix from source.

Additional Resources

License

Nix is released under the LGPL v2.1.