Conversation
michalsn
reviewed
Sep 13, 2026
gr8man
force-pushed
the
fix/factories-cache-directory-permissions
branch
from
September 13, 2026 20:22
3b9452e to
db02754
Compare
| // Two processes may try to create the directory at the same time. | ||
| // is_dir() confirms it exists, so suppressing the warning is safe. | ||
| if (! is_dir($this->path) && ! @mkdir($this->path, 0777, true) && ! is_dir($this->path)) { | ||
| if (! is_dir($this->path) && ! @mkdir($this->path, 0755, true) && ! is_dir($this->path)) { |
Member
There was a problem hiding this comment.
should the permission of the cache file itself below be fixed too? via chmod?
Member
There was a problem hiding this comment.
Yes, I believe so - good catch. With a permissive umask, the file remains world-writable. We should restrict its permissions before rename() too.
Comment on lines
+52
to
+56
| $files = glob("{$dir}/*"); | ||
|
|
||
| if ($files !== false) { | ||
| array_map(unlink(...), $files); | ||
| } |
Member
There was a problem hiding this comment.
this can reuse delete_files()
…n FileVarExportHandler
gr8man
force-pushed
the
fix/factories-cache-directory-permissions
branch
from
September 14, 2026 19:10
db02754 to
11c8a16
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
FileVarExportHandler::save()previously invoked@mkdir($this->path, 0777, true)when the cache directory did not exist. Passing0777grants full read/write/execute permissions to all users on systems with permissiveumasksettings (e.g.umask=0000in Docker containers or shared hosting environments).This PR changes the directory creation mode to
0755, consistent with existing CodeIgniter 4 practices (such asfilesystem_helperand generator traits).FileVarExportHandler::save()directory creation mode to0755.testSaveCreatesDirectoryWithCorrectPermissions()inFactoriesCacheFileVarExportHandlerTest.Checklist: