nix-gh/src/libutil
Tuomas Tynkkynen 546f98dace libutil: Fix invalid assert on decoding base64 hashes
The assertion is broken because there is no one-to-one mapping from
length of a base64 string to the length of the output.

E.g.

"1q69lz7Empb06nzfkj651413n9icx0njmyr3xzq1j9q=" results in a 32-byte output.
"1q69lz7Empb06nzfkj651413n9icx0njmyr3xzq1j9qy" results in a 33-byte output.

To reproduce, evaluate:

builtins.derivationStrict {
    name = "0";
    builder = "0";
    system = "0";
    outputHashAlgo = "sha256";
    outputHash = "1q69lz7Empb06nzfkj651413n9icx0njmyr3xzq1j9qy";
}

Found by afl-fuzz.
2018-02-19 23:20:26 +02:00
..
affinity.cc printMsg(lvlError, ...) -> printError(...) etc. 2016-09-21 16:54:53 +02:00
affinity.hh Run the daemon worker on the same CPU as the client 2013-08-07 14:02:04 +02:00
archive.cc builtins.fetchgit: Support importing a working tree 2017-10-30 19:59:25 +01:00
archive.hh builtins.fetchgit: Support importing a working tree 2017-10-30 19:59:25 +01:00
args.cc nix: Respect -I, --arg, --argstr 2017-10-24 12:58:34 +02:00
args.hh nix: Respect -I, --arg, --argstr 2017-10-24 12:58:34 +02:00
compression.cc compression: make parallel sink separate class 2018-02-11 13:50:28 -06:00
compression.hh make multi threaded compression configurable and use single threaded 2018-02-07 17:54:08 +01:00
config.cc Config::handleUnknownSettings(): Remove unused 'fatal' argument 2018-02-19 14:00:34 +01:00
config.hh Config::handleUnknownSettings(): Remove unused 'fatal' argument 2018-02-19 14:00:34 +01:00
finally.hh Add missing #include 2016-11-07 14:35:47 +01:00
hash.cc libutil: Fix invalid assert on decoding base64 hashes 2018-02-19 23:20:26 +02:00
hash.hh builtins.fetchgit: Support importing a working tree 2017-10-30 19:59:25 +01:00
istringstream_nocopy.hh Move istringstream_nocopy to a separate file 2017-03-21 14:43:03 +01:00
json.cc nix search: Add a cache 2017-07-26 17:29:10 +02:00
json.hh nix search: Add a cache 2017-07-26 17:29:10 +02:00
lazy.hh Figure out the user's home directory if $HOME is not set 2017-05-05 17:08:23 +02:00
local.mk use libbrotli directly when available 2017-12-30 20:26:33 -06:00
logging.cc Improve filtering of ANSI escape sequences in build logs 2018-02-07 15:23:57 +01:00
logging.hh More progress indicator improvements 2017-10-24 14:47:23 +02:00
lru-cache.hh nix-daemon: Disable path info cache 2017-04-06 14:30:31 +02:00
monitor-fd.hh monitor-fds: Fix on macOS. 2018-02-14 18:26:37 -05:00
pool.hh RemoteStore: Add option to drop old connections from the pool 2017-09-14 18:10:38 +02:00
ref.hh Allow setting the state directory as a store parameter 2016-06-02 16:02:48 +02:00
serialise.cc readString(): Read directly into std::string 2017-03-01 14:54:11 +01:00
serialise.hh Pass all settings to build-remote 2017-10-23 20:50:28 +02:00
sync.hh Include missing <cstdlib> for abort() 2017-08-03 07:03:22 +10:00
thread-pool.cc Fix a hang in ThreadPool 2017-10-09 15:41:09 +02:00
thread-pool.hh Fix a hang in ThreadPool 2017-10-09 15:41:09 +02:00
types.hh Progress indicator: Show number of active items 2017-08-16 20:56:03 +02:00
util.cc libutil: Fix infinite loop in filterANSIEscapes on '\r' 2018-02-19 23:20:26 +02:00
util.hh Improve filtering of ANSI escape sequences in build logs 2018-02-07 15:23:57 +01:00
xml-writer.cc OCD: foreach -> C++11 ranged for 2015-07-17 20:13:56 +02:00
xml-writer.hh And another one 2014-02-26 18:55:18 +01:00