summaryrefslogtreecommitdiffstats
path: root/src/net/tcp.c
diff options
context:
space:
mode:
authorMichael Brown2007-05-28 22:06:41 +0200
committerMichael Brown2007-05-28 22:06:41 +0200
commit3acd51597a40ab951bf04e96c232f41955de02d4 (patch)
tree60ef280c490c1fa1a3c8d400c37ec275b0bdf073 /src/net/tcp.c
parentIntroduce name resolution interface and named socket opener. (diff)
downloadipxe-3acd51597a40ab951bf04e96c232f41955de02d4.tar.gz
ipxe-3acd51597a40ab951bf04e96c232f41955de02d4.tar.xz
ipxe-3acd51597a40ab951bf04e96c232f41955de02d4.zip
Add sanity check and extra debug message
Diffstat (limited to 'src/net/tcp.c')
-rw-r--r--src/net/tcp.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/net/tcp.c b/src/net/tcp.c
index 06c66c95..830e8d50 100644
--- a/src/net/tcp.c
+++ b/src/net/tcp.c
@@ -277,6 +277,7 @@ static void tcp_close ( struct tcp_connection *tcp, int rc ) {
stop_timer ( &tcp->timer );
list_del ( &tcp->list );
ref_put ( &tcp->refcnt );
+ DBGC ( tcp, "TCP %p connection deleted\n", tcp );
return;
}
@@ -980,6 +981,10 @@ struct socket_opener tcp_socket_opener __socket_opener = {
static int tcp_open_uri ( struct xfer_interface *xfer, struct uri *uri ) {
struct sockaddr_tcpip peer;
+ /* Sanity check */
+ if ( ! uri->host )
+ return -EINVAL;
+
memset ( &peer, 0, sizeof ( peer ) );
peer.st_port = htons ( uri_port ( uri, 0 ) );
return xfer_open_named_socket ( xfer, SOCK_STREAM,