|
Ran
|
Jobs
1
|
Files
89
|
Run time
2min
|
Badge
README BADGES
|
push
github
Fix JIT slot overflow during up-recursion. Reported by Sergey Kaplun. (cherry picked from commit 048972dbf) In the case when LuaJIT is recording the side trace after the up-recursion call, there is no check that the updated `maxslot` value doesn't overflow the `LJ_MAX_JSLOTS` limit. If it records several huge returns in a row, the overflow of the aforementioned limit may occur. This triggers an assertion failure in `rec_check_slots()`. This patch fixes it by adding the corresponding check in the `lj_record_ret()`. Sergey Kaplun: * added the description and the test for the problem Resolves tarantool/security#145 Part of tarantool/tarantool#11278 Reviewed-by: Sergey Bronnikov <sergeyb@tarantool.org> Signed-off-by: Sergey Kaplun <skaplun@tarantool.org> (cherry picked from commit ad2f3014e)
5706 of 6042 branches covered (94.44%)
Branch coverage included in aggregate %.
2 of 2 new or added lines in 1 file covered. (100.0%)
8 existing lines in 5 files now uncovered.21762 of 23491 relevant lines covered (92.64%)
3831995.73 hits per line
| Lines | Coverage | ∆ | File |
|---|---|---|---|
| 1 |
87.73 |
-0.08% | src/lj_crecord.c |
| 1 |
96.49 |
-0.05% | src/lj_record.c |
| 1 |
97.28 |
-0.18% | src/lj_trace.c |
| 2 |
91.11 |
-0.32% | src/lj_alloc.c |
| 3 |
93.09 |
-0.99% | src/lj_ir.c |
| ID | Job ID | Ran | Files | Coverage | |
|---|---|---|---|---|---|
| 1 | 15491957545.1 | 89 |
93.01 |
GitHub Action Run |
| Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line | Branch Hits | Branch Misses |
|---|