Avoid implicit conversions
Found by running under pedantic UBSAN: ../bubblewrap.c:968:21: runtime error: implicit conversion from type 'int' of value -1 (32-bit, signed) to type 'uid_t' (aka 'unsigned int') changed the value to 4294967295 (32-bit, unsigned) ../bubblewrap.c:1210:28: runtime error: implicit conversion from type 'int' of value -41 (32-bit, signed) to type 'unsigned int' changed the value to 4294967255 (32-bit, unsigned) ../bubblewrap.c:1215:28: runtime error: implicit conversion from type 'int' of value -41 (32-bit, signed) to type 'unsigned int' changed the value to 4294967255 (32-bit, unsigned) Signed-off-by: Christian Göttsche <cgzones@googlemail.com>
This commit is contained in:
@@ -965,7 +965,7 @@ write_uid_gid_map (uid_t sandbox_uid,
|
|||||||
cleanup_free char *gid_map = NULL;
|
cleanup_free char *gid_map = NULL;
|
||||||
cleanup_free char *dir = NULL;
|
cleanup_free char *dir = NULL;
|
||||||
cleanup_fd int dir_fd = -1;
|
cleanup_fd int dir_fd = -1;
|
||||||
uid_t old_fsuid = -1;
|
uid_t old_fsuid = (uid_t)-1;
|
||||||
|
|
||||||
if (pid == -1)
|
if (pid == -1)
|
||||||
dir = xstrdup ("self");
|
dir = xstrdup ("self");
|
||||||
@@ -1207,12 +1207,12 @@ setup_newroot (bool unshare_pid,
|
|||||||
* inaccessible by that group. */
|
* inaccessible by that group. */
|
||||||
if (op->perms >= 0 &&
|
if (op->perms >= 0 &&
|
||||||
(op->perms & 0070) == 0)
|
(op->perms & 0070) == 0)
|
||||||
parent_mode &= ~0050;
|
parent_mode &= ~0050U;
|
||||||
|
|
||||||
/* The same, but for users other than the owner and group. */
|
/* The same, but for users other than the owner and group. */
|
||||||
if (op->perms >= 0 &&
|
if (op->perms >= 0 &&
|
||||||
(op->perms & 0007) == 0)
|
(op->perms & 0007) == 0)
|
||||||
parent_mode &= ~0005;
|
parent_mode &= ~0005U;
|
||||||
|
|
||||||
dest = get_newroot_path (op->dest);
|
dest = get_newroot_path (op->dest);
|
||||||
if (mkdir_with_parents (dest, parent_mode, FALSE) != 0)
|
if (mkdir_with_parents (dest, parent_mode, FALSE) != 0)
|
||||||
|
Reference in New Issue
Block a user