]> git.ipfire.org Git - thirdparty/libcgroup.git/commit
api.c: fix file open in cg_chmod_path()
authorKamalesh Babulal <kamalesh.babulal@oracle.com>
Mon, 29 Aug 2022 21:01:47 +0000 (15:01 -0600)
committerTom Hromatka <tom.hromatka@oracle.com>
Mon, 29 Aug 2022 21:01:55 +0000 (15:01 -0600)
commit91cf2e4b7ceb19c02d66af717c18d7bc64fa5df9
tree97042eccba87cf5f66465356d41dc2fd01cc6e1f
parent8b9665c29cb812c255687d6e5cb5262a6fe30a40
api.c: fix file open in cg_chmod_path()

In cg_chmod_path(), the commit 8b9665c29cb8 ("api.c: fix TOCTOU in
cg_chmod_path()), converted the file operations from stat -> fstat and
chmod -> fchmod to fix a Coverity warning.  The newly replaced file
operations operate on file descriptors and hence introduced a side
effect of opening the file at the wrong code block, that would only work
as expected when the caller calls cg_chmod_path() with owner_is_umask
set.

Fix it by moving the file operation out of the conditional block, so it
works in both of the cases of owner_is_umask being set or unset.

Fixes: 8b9665c29cb8 ("api.c: fix TOCTOU in cg_chmod_path())
Suggested-by: Tom Hromatka <tom.hromatka@oracle.com>
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
src/api.c