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