redict/src
Madelyn Olson d12b0cf438 Fix LUA garbage collector (CVE-2024-46981) (#1513)
Reset GC state before closing the lua VM to prevent user data to be
wrongly freed while still might be used on destructor callbacks.

Created and publish by Redis in their OSS branch.

Pulled from Valkey for Redict.

Signed-off-by: Madelyn Olson <madelyneolson@gmail.com>
Signed-off-by: Drew DeVault <sir@cmpwn.com>
Co-authored-by: YaacovHazan <yaacov.hazan@redis.com>
2025-01-07 18:27:38 +01:00
..
commands Update references to redis.io throughout code 2024-04-03 10:26:56 +02:00
modules src/modules: s/redis/redict/g 2024-03-26 10:59:57 +01:00
.gitignore Rename symbols, part one 2024-03-21 16:34:08 +01:00
acl.c Fix Read/Write key pattern selector (CVE-2024-51741) 2025-01-07 18:27:01 +01:00
adlist.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
adlist.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
ae_epoll.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
ae_evport.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
ae_kqueue.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
ae_select.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
ae.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
ae.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
anet.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
anet.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
aof.c all: another pass on Redis references in src/* 2024-03-23 16:04:30 +01:00
asciilogo.h Update ASCII art logo 2024-03-23 11:06:32 +01:00
atomicvar.h all: another pass on Redis references in src/* 2024-03-23 16:04:30 +01:00
bio.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
bio.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
bitops.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
blocked.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
call_reply.c Rename module-related macros 2024-03-22 17:29:44 +01:00
call_reply.h all: s/RedisModule/RedictModule/g 2024-03-22 17:18:07 +01:00
childinfo.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
cli_commands.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
cli_commands.h all: replace hiredis with hiredict 2024-03-23 15:19:52 +01:00
cli_common.c deps/hiredict: update to restructured version 2024-04-19 12:44:44 +02:00
cli_common.h deps/hiredict: update to restructured version 2024-04-19 12:44:44 +02:00
cluster_legacy.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
cluster_legacy.h all: another pass on Redis references in src/* 2024-03-23 16:04:30 +01:00
cluster.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
cluster.h all: another pass on Redis references in src/* 2024-03-23 16:04:30 +01:00
commands.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
commands.def Rename symbols, part one 2024-03-21 16:34:08 +01:00
commands.h all: replace hiredis with hiredict 2024-03-23 15:19:52 +01:00
config.c Rename module-related macros 2024-03-22 17:29:44 +01:00
config.h all: another pass on Redis references in src/* 2024-03-23 16:04:30 +01:00
connection.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
connection.h all: another pass on Redis references in src/* 2024-03-23 16:04:30 +01:00
connhelpers.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
crc16_slottable.h all: another pass on Redis references in src/* 2024-03-23 16:04:30 +01:00
crc16.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
crc64.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
crc64.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
crcspeed.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
crcspeed.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
db.c Rename module-related macros 2024-03-22 17:29:44 +01:00
debug.c Add ability to use system jemalloc 2024-04-10 01:10:49 +03:00
debugmacro.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
defrag.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
dict.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
dict.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
endianconv.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
endianconv.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
eval.c Fix LUA garbage collector (CVE-2024-46981) (#1513) 2025-01-07 18:27:38 +01:00
evict.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
expire.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
fmacros.h Fix FTBFS on kFreeBSD 2024-04-02 13:55:02 +00:00
fmtargs.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
function_lua.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
functions.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
functions.h all: another pass on Redis references in src/* 2024-03-23 16:04:30 +01:00
geo.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
geo.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
geohash_helper.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
geohash_helper.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
geohash.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
geohash.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
hyperloglog.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
intset.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
intset.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
kvstore.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
kvstore.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
latency.c Update references to redis.io throughout code 2024-04-03 10:26:56 +02:00
latency.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
lazyfree.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
listpack_malloc.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
listpack.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
listpack.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
localtime.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
logreqres.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
lolwut5.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
lolwut6.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
lolwut.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
lolwut.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
lzf_c.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
lzf_d.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
lzf.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
lzfP.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
Makefile deps/hiredict: update to restructured version 2024-04-19 12:44:44 +02:00
memtest.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
mkreleasehdr.sh all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
module.c Update references to redis.io throughout code 2024-04-03 10:26:56 +02:00
monotonic.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
monotonic.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
mt19937-64.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
mt19937-64.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
multi.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
networking.c all: another pass on Redis references in src/* 2024-03-23 16:04:30 +01:00
notify.c Update references to redis.io throughout code 2024-04-03 10:26:56 +02:00
object.c Add ability to use system jemalloc 2024-04-10 01:10:49 +03:00
pqsort.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
pqsort.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
pubsub.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
quicklist.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
quicklist.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
rand.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
rand.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
rax_malloc.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
rax.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
rax.h all: another pass on Redis references in src/* 2024-03-23 16:04:30 +01:00
rdb.c Rename module-related macros 2024-03-22 17:29:44 +01:00
rdb.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
redict-benchmark.c deps/hiredict: update to restructured version 2024-04-19 12:44:44 +02:00
redict-check-aof.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
redict-check-rdb.c all: another pass on Redis references in src/* 2024-03-23 16:04:30 +01:00
redict-cli.c deps/hiredict: update to restructured version 2024-04-19 12:44:44 +02:00
redict-trib.rb all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
redictassert.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
redictassert.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
redictmodule.h all: another pass on Redis references in src/* 2024-03-23 16:04:30 +01:00
release.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
replication.c Rename module-related macros 2024-03-22 17:29:44 +01:00
resp_parser.c all: another pass on Redis references in src/* 2024-03-23 16:04:30 +01:00
resp_parser.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
rio.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
rio.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
script_lua.c Hard code redis.REDIS_VERSION to 7.2.4 2024-04-01 11:57:54 +02:00
script_lua.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
script.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
script.h all: another pass on Redis references in src/* 2024-03-23 16:04:30 +01:00
sds.c Add ability to use system jemalloc 2024-04-10 01:10:49 +03:00
sds.h Freshen up sds.c from hiredict 2024-03-25 17:31:07 +01:00
sdsalloc.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
sentinel.c deps/hiredict: update to restructured version 2024-04-19 12:44:44 +02:00
server.c Report redis_version:7.2.4 in INFO command 2024-04-01 15:59:39 -04:00
server.h all: another pass on Redis references in src/* 2024-03-23 16:04:30 +01:00
setcpuaffinity.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
setproctitle.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
sha1.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
sha1.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
sha256.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
sha256.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
siphash.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
slowlog.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
slowlog.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
socket.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
solarisfixes.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
sort.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
sparkline.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
sparkline.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
stream.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
strl.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
syncio.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
syscheck.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
syscheck.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
t_hash.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
t_list.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
t_set.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
t_stream.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
t_string.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
t_zset.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
testhelp.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
threads_mngr.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
threads_mngr.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
timeout.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
tls.c all: another pass on Redis references in src/* 2024-03-23 16:04:30 +01:00
tracking.c all: another pass on Redis references in src/* 2024-03-23 16:04:30 +01:00
unix.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
util.c Prevent unbounded recursive pattern matching 2024-09-16 09:08:35 +02:00
util.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
valgrind.sup Sanitize dump payload: fuzz tester and fixes for segfaults and leaks it exposed 2020-12-06 14:54:34 +02:00
version.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
ziplist.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
ziplist.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
zipmap.c all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
zipmap.h all: let's go LGPL over GPL 2024-03-21 20:11:44 +01:00
zmalloc.c Add ability to use system jemalloc 2024-04-10 01:10:49 +03:00
zmalloc.h Add ability to use system jemalloc 2024-04-10 01:10:49 +03:00