summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortobhe@openbsd.org <tobhe@openbsd.org>2019-12-16 13:58:53 +0000
committerDarren Tucker <dtucker@dtucker.net>2019-12-20 14:25:08 +1100
commitf65cf1163ff01531ae02f3f9210391d0d692f699 (patch)
tree3dc82d371462c11bd6116e4240e5e116fe0bed14
parent57634bfc5708477826c0be265ddc59b9d83e4886 (diff)
upstream: strdup may return NULL if memory allocation fails. Use
the safer xstrdup which fatals on allocation failures. ok markus@ OpenBSD-Commit-ID: 8b608d387120630753cbcb8110e0b019c0c9a0d0
-rw-r--r--auth.c14
-rw-r--r--packet.c6
2 files changed, 10 insertions, 10 deletions
diff --git a/auth.c b/auth.c
index 0a46e1d8..48838508 100644
--- a/auth.c
+++ b/auth.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: auth.c,v 1.143 2019/11/25 00:54:23 djm Exp $ */
+/* $OpenBSD: auth.c,v 1.144 2019/12/16 13:58:53 tobhe Exp $ */
/*
* Copyright (c) 2000 Markus Friedl. All rights reserved.
*
@@ -748,7 +748,7 @@ remote_hostname(struct ssh *ssh)
if (getpeername(ssh_packet_get_connection_in(ssh),
(struct sockaddr *)&from, &fromlen) == -1) {
debug("getpeername failed: %.100s", strerror(errno));
- return strdup(ntop);
+ return xstrdup(ntop);
}
ipv64_normalise_mapped(&from, &fromlen);
@@ -760,7 +760,7 @@ remote_hostname(struct ssh *ssh)
if (getnameinfo((struct sockaddr *)&from, fromlen, name, sizeof(name),
NULL, 0, NI_NAMEREQD) != 0) {
/* Host name not found. Use ip address. */
- return strdup(ntop);
+ return xstrdup(ntop);
}
/*
@@ -775,7 +775,7 @@ remote_hostname(struct ssh *ssh)
logit("Nasty PTR record \"%s\" is set up for %s, ignoring",
name, ntop);
freeaddrinfo(ai);
- return strdup(ntop);
+ return xstrdup(ntop);
}
/* Names are stored in lowercase. */
@@ -796,7 +796,7 @@ remote_hostname(struct ssh *ssh)
if (getaddrinfo(name, NULL, &hints, &aitop) != 0) {
logit("reverse mapping checking getaddrinfo for %.700s "
"[%s] failed.", name, ntop);
- return strdup(ntop);
+ return xstrdup(ntop);
}
/* Look for the address from the list of addresses. */
for (ai = aitop; ai; ai = ai->ai_next) {
@@ -811,9 +811,9 @@ remote_hostname(struct ssh *ssh)
/* Address not found for the host name. */
logit("Address %.100s maps to %.600s, but this does not "
"map back to the address.", ntop, name);
- return strdup(ntop);
+ return xstrdup(ntop);
}
- return strdup(name);
+ return xstrdup(name);
}
/*
diff --git a/packet.c b/packet.c
index 7a703d69..2b50ef41 100644
--- a/packet.c
+++ b/packet.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: packet.c,v 1.286 2019/06/28 13:35:04 deraadt Exp $ */
+/* $OpenBSD: packet.c,v 1.287 2019/12/16 13:58:53 tobhe Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -530,9 +530,9 @@ ssh_remote_ipaddr(struct ssh *ssh)
ssh->local_ipaddr = get_local_ipaddr(sock);
ssh->local_port = get_local_port(sock);
} else {
- ssh->remote_ipaddr = strdup("UNKNOWN");
+ ssh->remote_ipaddr = xstrdup("UNKNOWN");
ssh->remote_port = 65535;
- ssh->local_ipaddr = strdup("UNKNOWN");
+ ssh->local_ipaddr = xstrdup("UNKNOWN");
ssh->local_port = 65535;
}
}