Blob Blame History Raw
diff -up net-tools-1.60/slattach.c.slattach-fchown net-tools-1.60/slattach.c
--- net-tools-1.60/slattach.c.slattach-fchown	2000-10-28 12:59:41.000000000 +0200
+++ net-tools-1.60/slattach.c	2009-09-15 18:17:01.000000000 +0200
@@ -195,15 +195,17 @@ tty_lock(char *path, int mode)
 		return(-1);
 	}
 
-	(void) close(fd);
-
 	/* Make sure UUCP owns the lockfile.  Required by some packages. */
 	if ((pw = getpwnam(_UID_UUCP)) == NULL) {
 		if (opt_q == 0) fprintf(stderr, _("slattach: tty_lock: UUCP user %s unknown!\n"),
 					_UID_UUCP);
+		(void) close(fd);
 		return(0);	/* keep the lock anyway */
 	}
-	(void) chown(saved_path, pw->pw_uid, pw->pw_gid);
+	(void) fchown(fd, pw->pw_uid, pw->pw_gid);
+ 
+	(void) close(fd);
+
 	saved_lock = 1;
   } else {	/* unlock */
 	if (saved_lock != 1) return(0);