aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog16
-rw-r--r--inet/rcmd.c3
-rw-r--r--posix/wordexp.c4
-rw-r--r--sysdeps/posix/cuserid.c5
-rw-r--r--sysdeps/posix/getaddrinfo.c2
-rw-r--r--wcsmbs/wcschr.c2
-rw-r--r--wcsmbs/wcsrchr.c2
7 files changed, 25 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index 49c5c4b264..8884c1b918 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+1999-07-01 Andreas Jaeger <aj@arthur.rhein-neckar.de>
+
+ * inet/rcmd.c (__icheckhost): Fix typo in last patch.
+
+1999-07-01 Andreas Jaeger <aj@arthur.rhein-neckar.de>
+
+ * wcsmbs/wcschr.c (wcschr): Fix last patch: Add missing semicolon.
+ * wcsmbs/wcsrchr.c (wcsrchr): Likewise.
+
+1999-07-01 Andreas Jaeger <aj@arthur.rhein-neckar.de>
+
+ * posix/wordexp.c (parse_tilde): Handle failing call to
+ get.*_r functions correctly for non-existing entry.
+ * sysdeps/posix/cuserid.c (cuserid): Likewise.
+ * sysdeps/posix/getaddrinfo.c (gaih_inet_serv): Likewise.
+
1999-06-30 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/gethostid.c: Handle failing call to
diff --git a/inet/rcmd.c b/inet/rcmd.c
index 30f20d1922..2d2ed8044f 100644
--- a/inet/rcmd.c
+++ b/inet/rcmd.c
@@ -472,8 +472,7 @@ __icheckhost (raddr, lhost, rhost)
buffer = __alloca (buflen);
save_errno = errno;
while (__gethostbyname_r (lhost, &hostbuf, buffer, buflen, &hp, &herr)
- != 0
- || hp = NULL)
+ != 0)
if (herr != NETDB_INTERNAL || errno != ERANGE)
return (0);
else {
diff --git a/posix/wordexp.c b/posix/wordexp.c
index c43d608aba..b6cf85af32 100644
--- a/posix/wordexp.c
+++ b/posix/wordexp.c
@@ -311,7 +311,7 @@ parse_tilde (char **word, size_t *word_length, size_t *max_length,
buffer = __alloca (buflen);
}
- if (result == 0 && pwd.pw_dir != NULL)
+ if (result == 0 && tpwd != NULL && pwd.pw_dir != NULL)
{
*word = w_addstr (*word, word_length, max_length, pwd.pw_dir);
if (*word == NULL)
@@ -340,7 +340,7 @@ parse_tilde (char **word, size_t *word_length, size_t *max_length,
buffer = __alloca (buflen);
}
- if (result == 0 && pwd.pw_dir)
+ if (result == 0 && tpwd != NULL && pwd.pw_dir)
*word = w_addstr (*word, word_length, max_length, pwd.pw_dir);
else
{
diff --git a/sysdeps/posix/cuserid.c b/sysdeps/posix/cuserid.c
index 68de92ae64..5d9ef83c33 100644
--- a/sysdeps/posix/cuserid.c
+++ b/sysdeps/posix/cuserid.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1996, 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1996, 1998, 1999 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -34,7 +34,8 @@ cuserid (s)
struct passwd pwent;
struct passwd *pwptr;
- if (__getpwuid_r (__geteuid (), &pwent, buf, sizeof (buf), &pwptr))
+ if (__getpwuid_r (__geteuid (), &pwent, buf, sizeof (buf), &pwptr)
+ || pwptr == NULL)
{
if (s != NULL)
s[0] = '\0';
diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
index f43aa03d1f..6810963357 100644
--- a/sysdeps/posix/getaddrinfo.c
+++ b/sysdeps/posix/getaddrinfo.c
@@ -206,7 +206,7 @@ gaih_inet_serv (const char *servicename, struct gaih_typeproto *tp,
r = __getservbyname_r (servicename, tp->name, &ts, tmpbuf, tmpbuflen,
&s);
- if (r)
+ if (r || s == NULL)
{
if (errno == ERANGE)
tmpbuflen *= 2;
diff --git a/wcsmbs/wcschr.c b/wcsmbs/wcschr.c
index a884c0be4c..01e5b2ac98 100644
--- a/wcsmbs/wcschr.c
+++ b/wcsmbs/wcschr.c
@@ -28,7 +28,7 @@ wcschr (wcs, wc)
do
if (*wcs == wc)
return (wchar_t *) wcs;
- while (*wcs++ != L'\0')
+ while (*wcs++ != L'\0');
return NULL;
}
diff --git a/wcsmbs/wcsrchr.c b/wcsmbs/wcsrchr.c
index 59184c558b..e041f7a05d 100644
--- a/wcsmbs/wcsrchr.c
+++ b/wcsmbs/wcsrchr.c
@@ -31,7 +31,7 @@ wcsrchr (wcs, wc)
do
if (*wcs == wc)
retval = wcs;
- while (*wcs++ != L'\0')
+ while (*wcs++ != L'\0');
return (wchar_t *) retval;
}