Commit bba344b
committed
fix: stack corruption in MultiCommandSquasher (#5697)
Fixes #5690
The problem: we accessed the caller stack variables (max_exec_cycles) in MultiCommandSquasher::ExecuteSquashed.
The access was done after the call to `bc.Dec()`, which unblocks ExecuteSquashed.
As a result, the callback function that was still running could corrupt memory contents of some other variable
as ExecuteSquashed could exit by that time.
In addition, harden checks in stream_family.cc in StreamAppendItem.
Finally, we update helio which fixes #5693
Signed-off-by: Roman Gershman <roman@dragonflydb.io>1 parent 91a23c8 commit bba344b
3 files changed
+4
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
296 | 296 | | |
297 | 297 | | |
298 | 298 | | |
299 | | - | |
300 | 299 | | |
301 | 300 | | |
302 | 301 | | |
303 | 302 | | |
304 | 303 | | |
305 | 304 | | |
306 | 305 | | |
| 306 | + | |
| 307 | + | |
307 | 308 | | |
308 | 309 | | |
309 | 310 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
432 | 432 | | |
433 | 433 | | |
434 | 434 | | |
| 435 | + | |
435 | 436 | | |
436 | 437 | | |
437 | 438 | | |
| |||
0 commit comments