From 24f25de65657d7ac9ccec63447efbe415110435b Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 23 Oct 1998 13:44:50 +0000 Subject: Update. * version.h (VERSION): Bump to 2.0.99. * posix/fnmath.h: Don't redefine __P when used in glibc. * posix/glob.h: Likewise. * inet/rcmd.c (__ivaliduser2): Fix memory leak. Patch by Dick Streefland . * stdio-common/tst-ungetc.c: Add more test cases. * sysdeps/unix/sysv/linux/Dist: Add linux_fsinfo.h. * sysdeps/unix/sysv/linux/fstatvfs.c: Move filesystem magic number definitions to ... * sysdeps/unix/sysv/linux/linux_fsinfo.h: ...here. New file. * sysdeps/unix/sysv/linux/fpathconf.c: New file. * sysdeps/unix/sysv/linux/pathconf.c: New file. * sysdeps/unix/sysv/linux/alpha/fpathconf.c: Handle _PC_LINK_MAX here. * sysdeps/unix/sysv/linux/alpha/pathconf.c: Likewise. 1998-10-20 Philip Blundell * sysdeps/unix/sysv/linux/arm/bits/armsigctx.h: Include to define struct pt_regs. * sysdeps/unix/sysv/linux/arm/profil-counter.h: Don't bother including here. * sysdeps/unix/sysv/linux/arm/sysdep.S: Remove spurious call to C_SYMBOL_NAME macro. 1998-10-23 Andreas Jaeger * sysdeps/generic/sys/ptrace.h (__ptrace_request): Remove comma at end of enumerator list. * sysdeps/unix/sysv/linux/sys/ptrace.h (__ptrace_request): Likewise. * posix/wordexp.h: Likewise. * db/db.h: Use __PMT instead of __P in typedefs. * db/mpool.h: Likewise. * sysdeps/generic/bits/siginfo.h: Likewise. * nis/rpcsvc/ypclnt.h: Likewise. 1998-10-23 Ulrich Drepper --- inet/rcmd.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'inet/rcmd.c') diff --git a/inet/rcmd.c b/inet/rcmd.c index 483e7b3..fe73342 100644 --- a/inet/rcmd.c +++ b/inet/rcmd.c @@ -553,6 +553,7 @@ __ivaliduser2(hostf, raddr, luser, ruser, rhost) int hcheck, ucheck; char *buf = NULL; size_t bufsize = 0; + int retval = -1; while (__getline (&buf, &bufsize, hostf) > 0) { buf[bufsize - 1] = '\0'; /* Make sure it's terminated. */ @@ -595,7 +596,7 @@ __ivaliduser2(hostf, raddr, luser, ruser, rhost) hcheck = __icheckhost (raddr, buf, rhost); if (hcheck < 0) - return -1; + break; if (hcheck) { /* Then check user part */ @@ -605,16 +606,21 @@ __ivaliduser2(hostf, raddr, luser, ruser, rhost) ucheck = __icheckuser (user, ruser); /* Positive 'host user' match? */ - if (ucheck > 0) - return 0; + if (ucheck > 0) { + retval = 0; + break; + } /* Negative 'host -user' match? */ if (ucheck < 0) - return -1; + break; /* Neither, go on looking for match */ } } - return -1; + if (buf != NULL) + free (buf); + + return retval; } -- cgit v1.1