diff options
author | Markus Friedl <markus@cvs.openbsd.org> | 2000-04-14 10:09:17 +0000 |
---|---|---|
committer | Markus Friedl <markus@cvs.openbsd.org> | 2000-04-14 10:09:17 +0000 |
commit | 33678fc8b299d55717f34c94bad03f629f7c89a2 (patch) | |
tree | ecf21f88b00230fd0520ef17404c5da1d97d2488 /usr.bin/ssh/serverloop.c | |
parent | d2b50e6f53eca572814633268b7f8a6b4b3d4b34 (diff) |
check payload for (illegal) extra data
Diffstat (limited to 'usr.bin/ssh/serverloop.c')
-rw-r--r-- | usr.bin/ssh/serverloop.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/usr.bin/ssh/serverloop.c b/usr.bin/ssh/serverloop.c index 4cbb3ba39f5..72f6c2ac72a 100644 --- a/usr.bin/ssh/serverloop.c +++ b/usr.bin/ssh/serverloop.c @@ -684,16 +684,17 @@ int input_direct_tcpip(void) { int sock; - char *host, *originator; - int host_port, originator_port; + char *target, *originator; + int target_port, originator_port; - host = packet_get_string(NULL); - host_port = packet_get_int(); + target = packet_get_string(NULL); + target_port = packet_get_int(); originator = packet_get_string(NULL); originator_port = packet_get_int(); + packet_done(); /* XXX check permission */ - sock = channel_connect_to(host, host_port); - xfree(host); + sock = channel_connect_to(target, target_port); + xfree(target); xfree(originator); if (sock < 0) return -1; @@ -722,6 +723,7 @@ server_input_channel_open(int type, int plen) if (strcmp(ctype, "session") == 0) { debug("open session"); + packet_done(); /* * A server session has no fd to read or write * until a CHANNEL_REQUEST for a shell is made, |