|
Ran
|
Jobs
1
|
Files
89
|
Run time
1min
|
Badge
README BADGES
|
push
github
Fix stack overflow relimit handling. Thanks to Sergey Kaplun. (cherry picked from commit d2c1327f5) If the error handler can't fit to the top of the Lua stack, the stack is resized up to `LJ_STACK_MAXEX + 1 + 2 * LUA_MINSTACK` hoping that `lj_state_relimitstack()` shrinks it back. In case when another error is (gently) handled in the error handler (`pcall(error)` or failed `load()`) the stack is shrunk to `LJ_STACK_MAX` leaving the rest of the handler to be executed on the clipped stack, which leads to the heap-overflow or a crash. This patch fixes the issue by hardening the relimiting border to match the extra space allocated before the stack overflow. Also, it fixes some typos in the comments. Sergey Kaplun: * added the description and the test for the problem Part of tarantool/tarantool#12880
5732 of 6059 branches covered (94.6%)
Branch coverage included in aggregate %.
3 of 3 new or added lines in 1 file covered. (100.0%)
6 existing lines in 3 files now uncovered.21868 of 23557 relevant lines covered (92.83%)
3972088.82 hits per line
| Lines | Coverage | ∆ | File |
|---|---|---|---|
| 4 |
94.74 |
-2.87% | src/lj_str.c |
| 1 |
77.03 |
0.16% | src/lj_opt_fold.c |
| 1 |
96.71 |
-0.05% | src/lj_record.c |
| ID | Job ID | Ran | Files | Coverage | |
|---|---|---|---|---|---|
| 1 | 29726472595.1 | 89 |
93.19 |
GitHub Action Run |
| Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line | Branch Hits | Branch Misses |
|---|