Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Sep 1997 23:40:13 +0200 (MEST)
From:      arnej@math.ntnu.no
To:        FreeBSD-gnats-submit@FreeBSD.ORG
Subject:   bin/4585: termcap search fails too early
Message-ID:  <199709192140.XAA21866@frida.math.ntnu.no>
Resent-Message-ID: <199709192150.OAA11722@hub.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         4585
>Category:       bin
>Synopsis:       termcap search fails too early
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Sep 19 14:50:00 PDT 1997
>Last-Modified:
>Originator:     Arne Henrik Juul
>Organization:
Norwegian University of Technology and Science
>Release:        FreeBSD 2.2-STABLE i386
>Environment:

	

>Description:

	The routines to find termcap entries (ultimately ending
	up in getent in libc) has problems if it has problems
	opening your ~/.termcap; only ENOENT is ignored.  But
	there may be other reasons why this fails and it should
	proceed to try /usr/share/misc/termcap; we got the problem
	when xterm couldn't access the home directory (because
	xterm is suid root, the home directory was on NFS without
	root privs, and was mod 700).  Other failure modes could
	probably be found as well.

>How-To-Repeat:

	Have a home directory on NFS, mounted without root privs,
	mode 700, then try starting xterm.  You should get the
	rather obscure message "unable to find usable termcap entry."

>Fix:
	
Patch from NetBSD:

Index: src/lib/libc/gen/getcap.c
===================================================================
RCS file: /usr/cvs/src/lib/libc/gen/getcap.c,v
retrieving revision 1.4
diff -u -r1.4 getcap.c
--- getcap.c	1995/10/22 14:36:15	1.4
+++ getcap.c	1997/09/19 21:26:27
@@ -269,10 +269,7 @@
 				fd = open(*db_p, O_RDONLY, 0);
 				if (fd < 0) {
 					/* No error on unfound file. */
-					if (errno == ENOENT)
-						continue;
-					free(record);
-					return (-2);
+					continue;
 				}
 				myfd = 1;
 			}
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199709192140.XAA21866>