v4.22.2

NandhaKishorM/layav4.22.2Oct 20, 2026by swilly22

Upgrading?

AI Summary

Patch release addressing critical crashes in the `reduce()` function and unique constraint enforcement on whitespace-trimmed string values.

Key Highlights

  • Fixed crash when `reduce()` iterator variable shadows a bound alias, preventing heap overflow.
  • Fixed crash when enforcing unique constraints on whitespace-trimmed string values.
  • Recomputed record slot index to ensure iterator correctly shadows outer bindings.

Full Release Notes

# FalkorDB 4.22.2

## Bug Fixes

- **`reduce()` crash when the iterator variable shadows a bound alias.**
  A query like `MATCH (n) RETURN reduce(s = 0, n IN [1,2,3] | s + n)` — where the
  `reduce` iterator reuses the name of an already-bound, live variable — gave the
  accumulator a record slot one past the end of the record, causing a heap
  overflow (SIGSEGV in release builds, assertion in debug). The slot index is now
  recomputed so the iterator correctly shadows the outer binding without
  corrupting the record. (#265, #3406)

- **Crash when enforcing a unique constraint on whitespace-trimmed string values.**
  RediSearch trims surrounding whitespace from TAG tokens, so a constrained
  string whose normalized form is empty (`""`, `" "`, `"\t"`) or differs from the
  raw value (leading/trailing whitespace, e.g. `" abc"`) doesn't round-trip
  through the index — the lookup returns nothing and a NULL dereference segfaulted
  in release builds. Such values are now treated as satisfying the constraint
  (consistent with the existing unindexable-type handling) instead of crashing.

Related Repositories