summaryrefslogtreecommitdiffstats
path: root/utils/mountd/auth.c
diff options
context:
space:
mode:
authorhjl <hjl>2000-01-10 22:31:41 +0000
committerhjl <hjl>2000-01-10 22:31:41 +0000
commit08f6b0ea56f96eac00b092c7d5e1f6486eb6f457 (patch)
tree3e3650828c221fbad22c4a897d392c82b39d414e /utils/mountd/auth.c
parent1bae64b1475e9c1458582f26aa0e837edc4c6aca (diff)
downloadnfs-utils-08f6b0ea56f96eac00b092c7d5e1f6486eb6f457.tar.gz
nfs-utils-08f6b0ea56f96eac00b092c7d5e1f6486eb6f457.tar.xz
nfs-utils-08f6b0ea56f96eac00b092c7d5e1f6486eb6f457.zip
Mon Jan 10 14:26:33 2000 H.J. Lu <hjl@lucon.org>
* utils/mountd/auth.c (auth_authenticate_internal): Call xstrdup for hostname before passing it to gethostbyname. * utils/mountd/mountd.c (get_exportlist): Use xstrdup instead of strdup.
Diffstat (limited to 'utils/mountd/auth.c')
-rw-r--r--utils/mountd/auth.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/utils/mountd/auth.c b/utils/mountd/auth.c
index afa2292..98c3944 100644
--- a/utils/mountd/auth.c
+++ b/utils/mountd/auth.c
@@ -16,6 +16,7 @@
#include "nfslib.h"
#include "exportfs.h"
#include "mountd.h"
+#include "xmalloc.h"
enum auth_error
{
@@ -83,9 +84,14 @@ auth_authenticate_internal(char *what, struct sockaddr_in *caller,
else {
/* must make sure the hostent is authorative. */
char **sp;
- struct hostent *forward;
+ struct hostent *forward = NULL;
+ char *tmpname;
- forward = gethostbyname((*hpp)->h_name);
+ tmpname = xstrdup((*hpp)->h_name);
+ if (tmpname) {
+ forward = gethostbyname(tmpname);
+ free(tmpname);
+ }
if (forward) {
/* now make sure the "addr" is in the list */
for (sp = forward->h_addr_list ; *sp ; sp++) {