Lulu 51a5025913 Avoid calling memcpy when len == 0 in filetransfer.cc
There was a bug report about a potential call to `memcpy` with a null
pointer which is not reproducible:
https://git.lix.systems/lix-project/lix/issues/492

This occurred in `src/libstore/filetransfer.cc` in `InnerSource::read`.

To ensure that this doesn't happen, an early return is added before
calling `memcpy` if the length of the data to be copied is 0.

This change also adds a test that ensures that when `InnerSource::read`
is called with an empty file, it throws an `EndOfFile` exception.

Change-Id: Ia18149bee9a3488576c864f28475a3a0c9eadfbb
2024-10-08 01:26:30 +02:00
2024-04-08 19:50:24 -07:00
2024-10-05 10:49:34 +02:00
2024-08-07 21:46:44 -07:00
2024-08-26 11:34:43 -07:00
2024-03-29 22:57:40 -07:00
2024-10-01 16:09:47 -07:00
2024-08-21 17:09:10 +00:00
2024-08-26 11:34:43 -07:00
2024-08-21 17:09:10 +00:00
2024-03-29 22:57:40 -07:00
2024-04-08 13:00:00 -07:00
2024-07-26 11:22:34 +04:00
2024-09-26 16:11:43 +00:00
2024-05-27 16:47:40 +02:00
2024-04-08 13:00:00 -07:00
2024-08-12 18:06:08 -07:00

Lix

Lix is an implementation of Nix, a powerful package management system for Linux and other Unix systems that makes package management reliable and reproducible.

Read more about us at https://lix.systems.

Installation

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

$ curl -sSf -L https://install.lix.systems/lix | sh -s -- install

For systems that already have a Nix implementation installed, such as NixOS systems, read our install page

Building And Developing

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

Additional Resources

License

Lix is released under LGPL-2.1-or-later.

S
Description
Working fork of Lix - carries the adaptive load-aware build-remote patch. Upstream: gerrit.lix.systems
Readme
92 MiB
Languages
C++ 74.9%
Python 11.7%
Nix 6.1%
Shell 3.6%
Meson 2%
Other 1.6%