1
0
mirror of https://github.com/moparisthebest/pacman synced 2024-12-23 00:08:50 -05:00

query_fileowner: remove trailing '/' from targets

Trailing '/' in paths causes lstat to dereference symlinks to
directories which causes it to break even though the symlink is a valid
target.

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
This commit is contained in:
Andrew Gregory 2012-07-26 01:04:20 -04:00 committed by Dan McGee
parent 140c76d328
commit 03f2e2360a

View File

@ -133,10 +133,17 @@ static int query_fileowner(alpm_list_t *targets)
const char *bname;
struct stat buf;
alpm_list_t *i;
size_t len;
int found = 0;
filename = strdup(t->data);
/* trailing '/' causes lstat to dereference directory symlinks */
len = strlen(filename) - 1;
while(len > 0 && filename[len] == '/') {
filename[len--] = '\0';
}
if(lstat(filename, &buf) == -1) {
/* if it is not a path but a program name, then check in PATH */
if(strchr(filename, '/') == NULL) {