mirror of
https://codeberg.org/redict/redict.git
synced 2025-01-23 00:28:26 -05:00
599e59ebc5
The corrupt dump fuzzer uncovered a valgrind warning saying: ``` ==76370== Argument 'size' of function malloc has a fishy (possibly negative) value: -3744781444216323815 ``` This allocation would have failed (returning NULL) and being handled properly by redis (even before this change), but we also want to silence the valgrind warnings (which are checking that casting to ssize_t produces a non-negative value). The solution i opted for is to explicitly fail these allocations (returning NULL), before even reaching `malloc` (which would have failed and return NULL too). The implication is that we will not be able to support a single allocation of more than 2GB on a 32bit system (which i don't think is a realistic scenario). i.e. i do think we could be facing cases were redis consumes more than 2gb on a 32bit system, but not in a single allocation. The byproduct of this, is that i dropped the overflow assertions, since these will now lead to the same OOM panic we have for failed allocations. |
||
---|---|---|
.. | ||
aof-multi-part.tcl | ||
aof-race.tcl | ||
aof.tcl | ||
block-repl.tcl | ||
convert-ziplist-hash-on-load.tcl | ||
convert-ziplist-zset-on-load.tcl | ||
convert-zipmap-hash-on-load.tcl | ||
corrupt-dump-fuzzer.tcl | ||
corrupt-dump.tcl | ||
dismiss-mem.tcl | ||
failover.tcl | ||
logging.tcl | ||
psync2-master-restart.tcl | ||
psync2-pingoff.tcl | ||
psync2-reg.tcl | ||
psync2.tcl | ||
rdb.tcl | ||
redis-benchmark.tcl | ||
redis-cli.tcl | ||
replication-2.tcl | ||
replication-3.tcl | ||
replication-4.tcl | ||
replication-buffer.tcl | ||
replication-psync.tcl | ||
replication.tcl | ||
shutdown.tcl |