mirror of
https://github.com/redis/redis.git
synced 2026-04-12 12:56:54 -04:00
|
Some checks are pending
CI / test-ubuntu-latest (push) Waiting to run
CI / test-sanitizer-address (push) Waiting to run
CI / build-debian-old (push) Waiting to run
CI / build-macos-latest (push) Waiting to run
CI / build-32bit (push) Waiting to run
CI / build-libc-malloc (push) Waiting to run
CI / build-centos-jemalloc (push) Waiting to run
CI / build-old-chain-jemalloc (push) Waiting to run
Codecov / code-coverage (push) Waiting to run
External Server Tests / test-external-standalone (push) Waiting to run
External Server Tests / test-external-cluster (push) Waiting to run
External Server Tests / test-external-nodebug (push) Waiting to run
Spellcheck / Spellcheck (push) Waiting to run
`VSIM_RedisCommand` in `vset.c` had two memory leak bugs related to the compiled FILTER expression (`exprstate` allocated by `exprCompile`): 1. Duplicate FILTER: When two FILTER options are provided in a single VSIM command, the second `exprCompile` overwrites `filter_expr` without freeing the first. Only the last one is freed in `VSIM_execute cleanup`. Fix: call `exprFree` on the existing `filter_expr` before reassigning. 2. Error path leaks: When FILTER is parsed successfully but a later option fails validation (invalid COUNT/EF/EPSILON/FILTER-EF or unknown option), the error return frees `vec` but not `filter_expr`. Fix: add `exprFree(filter_expr)` to all five error return paths. |
||
|---|---|---|
| .. | ||
| redisbloom | ||
| redisearch | ||
| redisjson | ||
| redistimeseries | ||
| vector-sets | ||
| common.mk | ||
| Makefile | ||