qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 1/3] slirp: don't crash when tcp_sockclosed() is cal


From: steven
Subject: [Qemu-devel] [PATCH 1/3] slirp: don't crash when tcp_sockclosed() is called with a NULL tp
Date: Tue, 5 Apr 2016 17:14:15 -0700
User-agent: Mutt/1.5.23 (2014-03-12)

Signed-off-by: Steven Luo <address@hidden>
---
This prevents a crash that would be exposed by a later patch in this
series.  The removed check for non-null is clearly wrong, as it comes
after the pointer has already been dereferenced in this function.

 slirp/tcp_subr.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/slirp/tcp_subr.c b/slirp/tcp_subr.c
index dbfd2c6..32ff452 100644
--- a/slirp/tcp_subr.c
+++ b/slirp/tcp_subr.c
@@ -356,6 +356,10 @@ tcp_sockclosed(struct tcpcb *tp)
        DEBUG_CALL("tcp_sockclosed");
        DEBUG_ARG("tp = %p", tp);
 
+       if (!tp) {
+               return;
+       }
+
        switch (tp->t_state) {
 
        case TCPS_CLOSED:
@@ -374,8 +378,7 @@ tcp_sockclosed(struct tcpcb *tp)
                tp->t_state = TCPS_LAST_ACK;
                break;
        }
-       if (tp)
-               tcp_output(tp);
+       tcp_output(tp);
 }
 
 /*
-- 
2.1.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]