]> gitweb.michael.orlitzky.com - apply-default-acl.git/commitdiff
Don't output anything in safe_open_ex when we ignore a symlink.
authorMichael Orlitzky <michael@orlitzky.com>
Mon, 26 Feb 2018 12:50:18 +0000 (07:50 -0500)
committerMichael Orlitzky <michael@orlitzky.com>
Mon, 26 Feb 2018 19:10:29 +0000 (14:10 -0500)
src/apply-default-acl.c

index 8979d1c56eb1955922d4b9705de9f4876781e3d2..45dfa56fecfdf2a160673cb412eda9690bef2f29 100644 (file)
@@ -51,6 +51,13 @@ int safe_open_ex(int at_fd, char* pathname, int flags) {
      openat() opens only the next directory (and doesn't recurse). */
    *firstslash = '\0';
    int fd = safe_open_ex(at_fd, pathname, flags);
+   if (fd == -1) {
+     if (errno != ELOOP) {
+       /* Don't output anything if we ignore a symlink */
+       perror("safe_open_ex (safe_open_ex)");
+     }
+     return -1;
+   }
 
    /* The ++ is safe because there needs to be at least a null byte
       after the first slash, even if it's the last real character in