From: Bradley Broom Date: Fri, 25 Apr 2014 10:00:00 +0000 (+0300) Subject: core-util: Call fchown() only when necessary X-Git-Url: https://code.delx.au/pulseaudio/commitdiff_plain/5610d41482df995baaf510308e07ccbe04c9e18b 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 --- diff --git a/src/pulsecore/core-util.c b/src/pulsecore/core-util.c index 0d9e354d..3e2c615f 100644 --- a/src/pulsecore/core-util.c +++ b/src/pulsecore/core-util.c @@ -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; }