diff options
Diffstat (limited to 'c/src/lib/libc/libio_sockets.c')
-rw-r--r-- | c/src/lib/libc/libio_sockets.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/c/src/lib/libc/libio_sockets.c b/c/src/lib/libc/libio_sockets.c index ac15a2a5c2..e9e7f3e952 100644 --- a/c/src/lib/libc/libio_sockets.c +++ b/c/src/lib/libc/libio_sockets.c @@ -32,6 +32,13 @@ struct socket *rtems_bsdnet_fdToSocket( return NULL; } iop = &rtems_libio_iops[fd]; + + /* same as rtems_libio_check_is_open(iop) but different return */ + if ((iop->flags & LIBIO_FLAGS_OPEN) == 0) { + errno = EBADF; + return NULL; + } + if (iop->data1 == NULL) errno = EBADF; return iop->data1; |