core-util: Call fchown() only when necessary

This reportedly fixes some cases where the home directory is on NFS.

BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=45656
This commit is contained in:
Bradley Broom 2014-04-25 13:00:00 +03:00 committed by Tanu Kaskinen
parent 48420b660a
commit 5610d41482

View file

@ -336,7 +336,7 @@ again:
uid = getuid();
if (gid == (gid_t) -1)
gid = getgid();
if (fchown(fd, uid, gid) < 0) {
if (((st.st_uid != uid) || (st.st_gid != gid)) && fchown(fd, uid, gid) < 0) {
pa_assert_se(pa_close(fd) >= 0);
goto fail;
}