diff options
author | kientzle <kientzle@FreeBSD.org> | 2004-06-05 06:08:40 +0000 |
---|---|---|
committer | kientzle <kientzle@FreeBSD.org> | 2004-06-05 06:08:40 +0000 |
commit | d1cd1e13da08cd4a8a51097403b8fd1a4bdc37dd (patch) | |
tree | 34b4b08c74521d3a06819824413238afdf3af65b /lib | |
parent | b74d5e60b1250e6e3a52d64de4b5c632b3b13a40 (diff) | |
download | FreeBSD-src-d1cd1e13da08cd4a8a51097403b8fd1a4bdc37dd.zip FreeBSD-src-d1cd1e13da08cd4a8a51097403b8fd1a4bdc37dd.tar.gz |
Pointy hat: We can't avoid a chown() call without checking both UID
and GID. Suppress a premature attempt at optimization.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libarchive/archive_read_extract.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/libarchive/archive_read_extract.c b/lib/libarchive/archive_read_extract.c index fc5bba2..11faedd 100644 --- a/lib/libarchive/archive_read_extract.c +++ b/lib/libarchive/archive_read_extract.c @@ -759,9 +759,13 @@ set_ownership(struct archive *a, struct archive_entry *entry, int flags) gid_t gid; /* If UID/GID are already correct, return 0. */ - /* TODO: Fix this; need to stat() to find on-disk GID <sigh> */ + /* XXX TODO: Fix this; as written, this fails to set GID a lot. + * Generally, we'll need to stat() to find on-disk GID <sigh> before + * deciding this. */ +/* if (a->user_uid == archive_entry_stat(entry)->st_uid) return (0); +*/ /* Not changed. */ if ((flags & ARCHIVE_EXTRACT_OWNER) == 0) |