[openssh-commits] [openssh] 02/02: upstream: make ssh_remote_ipaddr() capable of being called after
git+noreply at mindrot.org
git+noreply at mindrot.org
Fri Jun 1 14:20:53 AEST 2018
This is an automated email from the git hooks/post-receive script.
djm pushed a commit to branch master
in repository openssh.
commit 854ae209f992465a276de0b5f10ef770510c2418
Author: djm at openbsd.org <djm at openbsd.org>
Date: Fri Jun 1 04:05:29 2018 +0000
upstream: make ssh_remote_ipaddr() capable of being called after
the ssh->state has been torn down; bz#2773
OpenBSD-Commit-ID: 167f12523613ca3d16d7716a690e7afa307dc7eb
---
packet.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/packet.c b/packet.c
index 08a4d661..ab9a391b 100644
--- a/packet.c
+++ b/packet.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: packet.c,v 1.270 2018/05/25 03:20:59 dtucker Exp $ */
+/* $OpenBSD: packet.c,v 1.271 2018/06/01 04:05:29 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo at cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo at cs.hut.fi>, Espoo, Finland
@@ -418,13 +418,16 @@ ssh_packet_start_discard(struct ssh *ssh, struct sshenc *enc,
int
ssh_packet_connection_is_on_socket(struct ssh *ssh)
{
- struct session_state *state = ssh->state;
+ struct session_state *state;
struct sockaddr_storage from, to;
socklen_t fromlen, tolen;
+ if (ssh == NULL || ssh->state == NULL)
+ return 0;
+
+ state = ssh->state;
if (state->connection_in == -1 || state->connection_out == -1)
return 0;
-
/* filedescriptors in and out are the same, so it's a socket */
if (state->connection_in == state->connection_out)
return 1;
@@ -508,11 +511,12 @@ ssh_packet_get_connection_out(struct ssh *ssh)
const char *
ssh_remote_ipaddr(struct ssh *ssh)
{
- const int sock = ssh->state->connection_in;
+ int sock;
/* Check whether we have cached the ipaddr. */
if (ssh->remote_ipaddr == NULL) {
if (ssh_packet_connection_is_on_socket(ssh)) {
+ sock = ssh->state->connection_in;
ssh->remote_ipaddr = get_peer_ipaddr(sock);
ssh->remote_port = get_peer_port(sock);
ssh->local_ipaddr = get_local_ipaddr(sock);
--
To stop receiving notification emails like this one, please contact
djm at mindrot.org.
More information about the openssh-commits
mailing list