about summary refs log tree commit diff
path: root/misc/getttyent.c
diff options
context:
space:
mode:
Diffstat (limited to 'misc/getttyent.c')
-rw-r--r--misc/getttyent.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/misc/getttyent.c b/misc/getttyent.c
index 6743ac5d7d..f474cdcacf 100644
--- a/misc/getttyent.c
+++ b/misc/getttyent.c
@@ -71,12 +71,13 @@ getttyent()
 
 	if (!tf && !setttyent())
 		return (NULL);
+	flockfile (tf);
 	for (;;) {
 		if (!fgets(p = line, sizeof(line), tf))
 			return (NULL);
 		/* skip lines that are too big */
 		if (!index(p, '\n')) {
-			while ((c = getc(tf)) != '\n' && c != EOF)
+			while ((c = getc_unlocked(tf)) != '\n' && c != EOF)
 				;
 			continue;
 		}
@@ -85,6 +86,7 @@ getttyent()
 		if (*p && *p != '#')
 			break;
 	}
+	funlockfile(tf);
 
 	zapchar = 0;
 	tty.ty_name = p;