Ran
|
Jobs
1
|
Files
89
|
Run time
1min
|
Badge
README BADGES
|
push
github
Avoid negation of signed integers in C that may hold INT*_MIN. Reported by minoki. Recent C compilers 'take advantage' of the undefined behavior. This completely changes the meaning of expressions like (k == -k). (cherry picked from commit 8a5e398c5) This patch changes all possibly dangerous -x operations on integers to the corresponding two's complement. Also, it removes all related UBSAN suppressions, since they are fixed. Also, this patch limits the `bit.tohex()` result by 254 characters. There is no testcase for `strscan_oct()`, `strscan_dec()` or/and `STRSCAN_U32` format since first the unary minus is parsed first and only after the number itself is parsed during parsing C syntax. So the error is raised in `cp_expr_prefix()` instead. For parsing the exponent header, there is no testcase, since the power is limited by `STRSCAN_MAXEXP`. Sergey Kaplun: * added the description and the test for the problem Part of tarantool/tarantool#9924 Relates to tarantool/tarantool#8473 Reviewed-by: Maxim Kokryashkin <m.kokryashkin@tarantool.org> Reviewed-by: Sergey Bronnikov <sergeyb@tarantool.org> Signed-off-by: Sergey Kaplun <skaplun@tarantool.org>
5673 of 6025 branches covered (94.16%)
Branch coverage included in aggregate %.
24 of 31 new or added lines in 10 files covered. (77.42%)
6 existing lines in 1 file now uncovered.21641 of 23434 relevant lines covered (92.35%)
2953217.43 hits per line
Lines | Coverage | ∆ | File |
---|---|---|---|
1 |
77.47 |
0.24% | src/lj_opt_fold.c |
6 |
86.78 |
5.49% | src/lj_strscan.c |
Lines | Coverage | ∆ | File |
---|---|---|---|
6 |
97.36 |
0.0% | src/lj_snap.c |
ID | Job ID | Ran | Files | Coverage | |
---|---|---|---|---|---|
1 | 9792155454.1 | 89 |
92.72 |
GitHub Action Run |
Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line | Branch Hits | Branch Misses |
---|---|---|---|---|---|---|---|---|---|
13.79 | src/lj_utils_leb128.c | 132 | 51 | 7 | 44 | 1847085.0 - 261 | 1 | 6 | |
61.83 | src/lj_clib.c | 431 | 101 | 65 | 36 | 3993.0 + 21 | 16 | 14 | |
77.43 | src/lj_api.c | 1369 | 860 | 662 | 198 | 919805.0 + 663 | 182 | 48 | |
77.47 | src/lj_opt_fold.c | 2542 | 977 | 741 + 3 | 236 - 3 | 804170.0 + 48876 | 246 | 51 | |
77.92 | src/lj_wbuf.c | 141 | 66 | 49 | 17 | 646238.0 - 61 | 11 | 0 | |
78.75 | src/lib_math.c | 224 | 72 | 56 | 16 | 20819.0 + 8 | 7 | 1 | |
84.03 | src/lj_ccall.c | 1183 | 172 | 145 | 27 | 30983.0 + 155 | 55 | 11 | |
84.21 | src/lj_load.c | 164 | 81 | 69 | 12 | 30873.0 + 64 | 11 | 3 | |
86.45 | src/lib_jit.c | 771 | 323 | 280 | 43 | 414.0 + 3 | 58 | 10 | |
86.78 | src/lj_strscan.c | 540 | 263 | 227 + 15 | 36 - 15 | 2381443.0 - 168433 | 121 + 7 | 17 - 7 |