summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorderaadt <deraadt@openbsd.org>2015-10-08 13:55:56 +0000
committerderaadt <deraadt@openbsd.org>2015-10-08 13:55:56 +0000
commit136d56f7b3c58e753661f0e064e17e91e87b520a (patch)
tree1196e1be7773a44d03c09767f1eb377e2f939e1b
parentsetsockopt has a small list of options it can set. If we find ourselves (diff)
downloadwireguard-openbsd-136d56f7b3c58e753661f0e064e17e91e87b520a.tar.xz
wireguard-openbsd-136d56f7b3c58e753661f0e064e17e91e87b520a.zip
Handle case where no hint is passed in. Found as a crash of fdm by jturner@
-rw-r--r--lib/libc/asr/getaddrinfo.c4
-rw-r--r--lib/libc/asr/getaddrinfo_async.c4
2 files changed, 4 insertions, 4 deletions
diff --git a/lib/libc/asr/getaddrinfo.c b/lib/libc/asr/getaddrinfo.c
index e932e46b948..b6ce8a9d64d 100644
--- a/lib/libc/asr/getaddrinfo.c
+++ b/lib/libc/asr/getaddrinfo.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: getaddrinfo.c,v 1.7 2015/10/07 13:57:12 deraadt Exp $ */
+/* $OpenBSD: getaddrinfo.c,v 1.8 2015/10/08 13:55:56 deraadt Exp $ */
/*
* Copyright (c) 2012 Eric Faurot <eric@openbsd.org>
*
@@ -32,7 +32,7 @@ getaddrinfo(const char *hostname, const char *servname,
struct asr_result ar;
int saved_errno = errno;
- if ((hints->ai_flags & AI_NUMERICHOST) == 0)
+ if (hints && (hints->ai_flags & AI_NUMERICHOST) == 0)
res_init();
as = getaddrinfo_async(hostname, servname, hints, NULL);
diff --git a/lib/libc/asr/getaddrinfo_async.c b/lib/libc/asr/getaddrinfo_async.c
index 4362da51514..0a411adac63 100644
--- a/lib/libc/asr/getaddrinfo_async.c
+++ b/lib/libc/asr/getaddrinfo_async.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: getaddrinfo_async.c,v 1.46 2015/10/07 13:59:34 deraadt Exp $ */
+/* $OpenBSD: getaddrinfo_async.c,v 1.47 2015/10/08 13:55:56 deraadt Exp $ */
/*
* Copyright (c) 2012 Eric Faurot <eric@openbsd.org>
*
@@ -88,7 +88,7 @@ getaddrinfo_async(const char *hostname, const char *servname,
struct asr_query *as;
char alias[MAXDNAME];
- if ((hints->ai_flags & AI_NUMERICHOST) == 0)
+ if (hints && (hints->ai_flags & AI_NUMERICHOST) == 0)
ac = _asr_use_resolver(asr);
else
ac = _asr_no_resolver();