=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/ttymodes.c,v retrieving revision 1.14.2.3 retrieving revision 1.15 diff -u -r1.14.2.3 -r1.15 --- src/usr.bin/ssh/ttymodes.c 2002/06/22 07:23:18 1.14.2.3 +++ src/usr.bin/ssh/ttymodes.c 2001/12/19 07:18:56 1.15 @@ -43,7 +43,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: ttymodes.c,v 1.14.2.3 2002/06/22 07:23:18 miod Exp $"); +RCSID("$OpenBSD: ttymodes.c,v 1.15 2001/12/19 07:18:56 deraadt Exp $"); #include "packet.h" #include "log.h" @@ -307,6 +307,7 @@ else packet_put_raw(buffer_ptr(&buf), buffer_len(&buf)); buffer_free(&buf); + return; } /* @@ -401,17 +402,17 @@ * SSH1: * Opcodes 1 to 127 are defined to have * a one-byte argument. - * Opcodes 128 to 159 are defined to have - * an integer argument. - */ + * Opcodes 128 to 159 are defined to have + * an integer argument. + */ if (opcode > 0 && opcode < 128) { n_bytes += 1; (void) packet_get_char(); break; } else if (opcode >= 128 && opcode < 160) { - n_bytes += 4; - (void) packet_get_int(); - break; + n_bytes += 4; + (void) packet_get_int(); + break; } else { /* * It is a truly undefined opcode (160 to 255). @@ -421,8 +422,9 @@ * more coming after the mode data. */ log("parse_tty_modes: unknown opcode %d", opcode); + packet_integrity_check(0, 1, SSH_CMSG_REQUEST_PTY); goto set; - } + } } else { /* * SSH2: @@ -439,7 +441,7 @@ log("parse_tty_modes: unknown opcode %d", opcode); goto set; } - } + } } } @@ -456,4 +458,5 @@ /* Set the new modes for the terminal. */ if (tcsetattr(fd, TCSANOW, &tio) == -1) log("Setting tty modes failed: %.100s", strerror(errno)); + return; }