|
Ran
|
Jobs
1
|
Files
518
|
Run time
1min
|
Badge
README BADGES
|
push
github
box: fix misleading errors on privilege revoke from admin Trying to revoke privileges from an admin user or a super role results in misleading errors: ``` error: 'Tuple field 5 (privilege) type does not match one required by operation: expected unsigned, got integer' ``` The reason is that privileges use bit module for privilege grant/revoke, and this module operates 32-bit **signed** integers (see https://bitop.luajit.org/semantics.html#range for details). So any bit operation on a privilege set greater than 2^31 (for example, box.priv.ALL == 2^32 - 1) results in a negative number: ```lua tarantool> bit.band(box.priv.ALL, bit.bnot(box.priv.W)) --- - -3 ... ``` Fortunately, this can be fixed by casting one of the operands to a uint64_t type, so let's cast all granted or revoked privileges prior to calculating the resulting privilege set. Closes #11526 NO_DOC=bugfix (cherry picked from commit 8de5bae07)
70147 of 124033 branches covered (56.56%)
103228 of 117927 relevant lines covered (87.54%)
1597437.4 hits per line
| Lines | Coverage | ∆ | File |
|---|---|---|---|
| 1 |
96.14 |
0.0% | src/box/relay.cc |
| 1 |
94.68 |
-0.53% | src/box/vy_range.c |
| 1 |
87.3 |
-0.07% | src/box/vy_run.c |
| 1 |
94.25 |
-0.18% | src/box/xrow_update_field.c |
| 2 |
90.67 |
-0.06% | src/box/box.cc |
| 2 |
95.84 |
-0.11% | src/box/iproto.cc |
| 2 |
92.37 |
-0.05% | src/box/vinyl.c |
| 2 |
84.27 |
-0.07% | src/box/xlog.c |
| 2 |
97.26 |
-0.2% | src/lib/msgpuck/msgpuck.h |
| 4 |
92.82 |
-0.12% | src/lib/core/fiber.c |
| 7 |
94.66 |
-1.44% | src/box/vy_read_iterator.c |
| ID | Job ID | Ran | Files | Coverage | |
|---|---|---|---|---|---|
| 1 | 16491977811.1 | 518 |
87.54 |
GitHub Action Run |
| Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line | Branch Hits | Branch Misses |
|---|