Redis: Edge Cases in Numeric Boundaries

Two fixes landed today that both trace back to mishandled numeric boundary math — one a remotely triggerable crash in VRANDMEMBER, the other silently dead logic in the active expire cycle. Together they're a reminder to double check how extreme values and unit mismatches move through the codebase.

Duration: PT2M12S

Episode overview

This episode is a short developer briefing from Redis.

It explains recent repository work in plain language.

  • Show: Redis
  • Published: 2026-07-13T13:09:35Z
  • Audio duration: PT2M12S

Transcript excerpt

This excerpt keeps the crawler page concise. Listen to the episode or use the RSS feed for the full update.

Good morning. It's July 13th, 2026, and today's Redis activity centers on one theme: numbers that don't behave the way the code assumed they would.

The headline fix is PR 15392, from Vismay Tiwari. VRANDMEMBER with a count of LLONG_MIN — the most negative value a long long can hold — crashed the server. The bug is a classic one: negating that value is undefined behavior, so the code's attempt to get an absolute value produced another negative number instead,…

The second theme is unit mismatches hiding as dead code. PR 15457, from Sebastien Tardif, targets the active expire cycle. The stale-key statistic is tracked as a fraction between zero and one, but the configuration threshold is expressed as a percentage — ten meaning ten percent. The old code compared them…

The throughline here isn't file overlap, it's category: both bugs come from treating numbers as if type and unit didn't matter. One is a security-grade crash, the other a quiet logic bug that never threw an error.

What to remember: when touching boundary math or threshold comparisons, check units and edge values explicitly — LLONG_MIN, percent versus fraction, that class of assumption is where these bugs live.

That's the…

Nearby episodes from Redis

  1. Weekly Recap - Security Fixes, Crash Hardening, and the Modules Build Overhaul
  2. Correctness Fixes Under the Hood
  3. Tightening Object Internals
  4. Duplicate Fixes and Event Loop Cleanup
  5. Modules Consolidation and Core Performance Gains
  6. Closing the Gaps Around Trust Boundaries
  7. Module Build Overhaul and a Cautious Revert
  8. Hot Path Fixes and Module Housekeeping