alpm: fix wrong access() being used
When removing files we check _alpm_access() to see if we can write
(delete) the file. If not, we check if the file exists because if the
file does not exist then we don't actually need to remove it so there's
no issue.
However the second call uses acess() instead of _alpm_access() which
does not the rootdir into account.
(cherry picked from commit 5287cc7251
)
This commit is contained in:
parent
e56c7a3f41
commit
53289acdc9
1 changed files with 1 additions and 1 deletions
|
@ -332,7 +332,7 @@ static int can_remove_file(alpm_handle_t *handle, const alpm_file_t *file)
|
|||
/* If we fail write permissions due to a read-only filesystem, abort.
|
||||
* Assume all other possible failures are covered somewhere else */
|
||||
if(_alpm_access(handle, NULL, filepath, W_OK) == -1) {
|
||||
if(errno != EACCES && errno != ETXTBSY && access(filepath, F_OK) == 0) {
|
||||
if(errno != EACCES && errno != ETXTBSY && _alpm_access(handle, NULL, filepath, F_OK) == 0) {
|
||||
/* only return failure if the file ACTUALLY exists and we can't write to
|
||||
* it - ignore "chmod -w" simple permission failures */
|
||||
_alpm_log(handle, ALPM_LOG_ERROR, _("cannot remove file '%s': %s\n"),
|
||||
|
|
Loading…
Add table
Reference in a new issue