Avoid implicit conversions from signed to unsigned values, found by UB sanitizers, by using unsigned values in the first place. util.c:95:15: runtime error: left shift of 1 by 31 places cannot be represented in type 'int' Signed-off-by: Christian Göttsche <cgzones@xxxxxxxxxxxxxx> --- libsepol/src/util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libsepol/src/util.c b/libsepol/src/util.c index a47cae87..902c63c5 100644 --- a/libsepol/src/util.c +++ b/libsepol/src/util.c @@ -92,7 +92,7 @@ char *sepol_av_to_string(policydb_t * policydbp, uint32_t tclass, cladatum = policydbp->class_val_to_struct[tclass - 1]; p = avbuf; for (i = 0; i < cladatum->permissions.nprim; i++) { - if (av & (1 << i)) { + if (av & (UINT32_C(1) << i)) { v.val = i + 1; rc = hashtab_map(cladatum->permissions.table, perm_name, &v); -- 2.33.0