diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-03-27 10:30:23 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-03-27 10:31:04 +0200 |
commit | 94a4865c0c4257196827ef426150026980d4a10b (patch) | |
tree | b23670b776aecb65424575e1d59bdb3cc5ac294e /cpukit/libcsupport/src | |
parent | 1c6926c11f2e5efcb166c668b097d64a0321d66e (diff) |
termios: Avoid invalid memory access
Update #2897.
Diffstat (limited to 'cpukit/libcsupport/src')
-rw-r--r-- | cpukit/libcsupport/src/termios.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/cpukit/libcsupport/src/termios.c b/cpukit/libcsupport/src/termios.c index a7944ecc1e..6557135125 100644 --- a/cpukit/libcsupport/src/termios.c +++ b/cpukit/libcsupport/src/termios.c @@ -847,7 +847,7 @@ rtems_termios_ioctl (void *arg) struct rtems_termios_tty *tty = args->iop->data1; struct ttywakeup *wakeup = (struct ttywakeup *)args->buffer; rtems_status_code sc; - int flags = *((int *)args->buffer); + int flags; args->ioctl_return = 0; sc = rtems_semaphore_obtain (tty->osem, RTEMS_WAIT, RTEMS_NO_TIMEOUT); @@ -920,6 +920,8 @@ rtems_termios_ioctl (void *arg) break; case TIOCFLUSH: + flags = *((int *)args->buffer); + if (flags == 0) { flags = FREAD | FWRITE; } else { |