diff options
author | Ed Maste <emaste@FreeBSD.org> | 2024-02-15 00:42:48 +0000 |
---|---|---|
committer | Ed Maste <emaste@FreeBSD.org> | 2024-03-22 13:30:32 +0000 |
commit | be83aa2a01b35f9e7aa94a3d45a851305fa22c83 (patch) | |
tree | 1a4aadcf32b0c972530cedaf97ce2e0ac09ef3c3 | |
parent | dbf34bbb188876551dcfec32fbbed2ba8ba24f12 (diff) | |
download | src-be83aa2a01b35f9e7aa94a3d45a851305fa22c83.tar.gz src-be83aa2a01b35f9e7aa94a3d45a851305fa22c83.zip |
libcasper: fix cap_rights_init usage
Capability rights passed to cap_rights_* are not simple bitmaks and
cannot be ORed together in general (although it will work for certain
subsets of rights).
PR: 277057
Fixes: faaf43b2a750 ("fileargs: add tests")
Sponsored by: The FreeBSD Foundation
(cherry picked from commit 3733d82c4deb49035a39e18744085d1e3e9b8dc5)
-rw-r--r-- | lib/libcasper/services/cap_fileargs/tests/fileargs_test.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/lib/libcasper/services/cap_fileargs/tests/fileargs_test.c b/lib/libcasper/services/cap_fileargs/tests/fileargs_test.c index 4df43f183735..dce499c8b7c3 100644 --- a/lib/libcasper/services/cap_fileargs/tests/fileargs_test.c +++ b/lib/libcasper/services/cap_fileargs/tests/fileargs_test.c @@ -292,7 +292,7 @@ ATF_TC_BODY(fileargs__open_read, tc) prepare_files(MAX_FILES, true); - cap_rights_init(&rights, CAP_READ | CAP_FCNTL); + cap_rights_init(&rights, CAP_READ, CAP_FCNTL); cap_rights_init(&norights, CAP_WRITE); fa = fileargs_init(MAX_FILES, files, O_RDONLY, 0, &rights, FA_OPEN); @@ -339,7 +339,7 @@ ATF_TC_BODY(fileargs__open_write, tc) prepare_files(MAX_FILES, true); - cap_rights_init(&rights, CAP_WRITE | CAP_FCNTL); + cap_rights_init(&rights, CAP_WRITE, CAP_FCNTL); cap_rights_init(&norights, CAP_READ); fa = fileargs_init(MAX_FILES, files, O_WRONLY, 0, &rights, FA_OPEN); @@ -386,7 +386,7 @@ ATF_TC_BODY(fileargs__open_create, tc) prepare_files(MAX_FILES, false); - cap_rights_init(&rights, CAP_WRITE | CAP_FCNTL | CAP_READ); + cap_rights_init(&rights, CAP_WRITE, CAP_FCNTL, CAP_READ); cap_rights_init(&norights, CAP_FCHMOD); fa = fileargs_init(MAX_FILES, files, O_RDWR | O_CREAT, 666, &rights, FA_OPEN); @@ -467,7 +467,7 @@ ATF_TC_BODY(fileargs__fopen_read, tc) prepare_files(MAX_FILES, true); - cap_rights_init(&rights, CAP_READ | CAP_FCNTL); + cap_rights_init(&rights, CAP_READ, CAP_FCNTL); cap_rights_init(&norights, CAP_WRITE); fa = fileargs_init(MAX_FILES, files, O_RDONLY, 0, &rights, FA_OPEN); @@ -517,7 +517,7 @@ ATF_TC_BODY(fileargs__fopen_write, tc) prepare_files(MAX_FILES, true); - cap_rights_init(&rights, CAP_WRITE | CAP_FCNTL); + cap_rights_init(&rights, CAP_WRITE, CAP_FCNTL); cap_rights_init(&norights, CAP_READ); fa = fileargs_init(MAX_FILES, files, O_WRONLY, 0, &rights, FA_OPEN); @@ -567,7 +567,7 @@ ATF_TC_BODY(fileargs__fopen_create, tc) prepare_files(MAX_FILES, false); - cap_rights_init(&rights, CAP_READ | CAP_WRITE | CAP_FCNTL); + cap_rights_init(&rights, CAP_READ, CAP_WRITE, CAP_FCNTL); fa = fileargs_init(MAX_FILES, files, O_RDWR | O_CREAT, 0, &rights, FA_OPEN); ATF_REQUIRE(fa != NULL); @@ -673,7 +673,7 @@ ATF_TC_BODY(fileargs__open_lstat, tc) prepare_files(MAX_FILES, true); - cap_rights_init(&rights, CAP_READ | CAP_FCNTL); + cap_rights_init(&rights, CAP_READ, CAP_FCNTL); cap_rights_init(&norights, CAP_WRITE); fa = fileargs_init(MAX_FILES, files, O_RDONLY, 0, &rights, FA_OPEN | FA_LSTAT); @@ -721,7 +721,7 @@ ATF_TC_BODY(fileargs__open_realpath, tc) prepare_files(MAX_FILES, true); - cap_rights_init(&rights, CAP_READ | CAP_FCNTL); + cap_rights_init(&rights, CAP_READ, CAP_FCNTL); cap_rights_init(&norights, CAP_WRITE); fa = fileargs_init(MAX_FILES, files, O_RDONLY, 0, &rights, FA_OPEN | FA_REALPATH); |