diff --git a/src/add-ons/kernel/drivers/tty/master.cpp b/src/add-ons/kernel/drivers/tty/master.cpp index beb23493e2..8ee58c3ef7 100644 --- a/src/add-ons/kernel/drivers/tty/master.cpp +++ b/src/add-ons/kernel/drivers/tty/master.cpp @@ -9,7 +9,7 @@ #include -#define MASTER_TRACE +//#define MASTER_TRACE #ifdef MASTER_TRACE # define TRACE(x) dprintf x #else @@ -42,7 +42,10 @@ static status_t master_open(const char *name, uint32 flags, void **_cookie) { int32 index = get_tty_index(name); - dprintf("TTY index = %ld (name = %s)\n", index, name); + if (index >= (int32)kNumTTYs) + return B_ERROR; + + TRACE(("master_open: TTY index = %ld (name = %s)\n", index, name)); if (atomic_or(&gMasterTTYs[index].open_count, 1) != 0) { // we're already open! diff --git a/src/add-ons/kernel/drivers/tty/slave.cpp b/src/add-ons/kernel/drivers/tty/slave.cpp index 1c5c2b8be3..01360f8654 100644 --- a/src/add-ons/kernel/drivers/tty/slave.cpp +++ b/src/add-ons/kernel/drivers/tty/slave.cpp @@ -9,7 +9,7 @@ #include -#define SLAVE_TRACE +//#define SLAVE_TRACE #ifdef SLAVE_TRACE # define TRACE(x) dprintf x #else @@ -31,6 +31,10 @@ static status_t slave_open(const char *name, uint32 flags, void **_cookie) { int32 index = get_tty_index(name); + if (index >= (int32)kNumTTYs) + return B_ERROR; + + TRACE(("slave_open: TTY index = %ld (name = %s)\n", index, name)); // we may only be used if our master has already been opened if (gMasterTTYs[index].open_count == 0)