summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--c/src/lib/libc/libio_sockets.c7
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;