From 789d6d70b61e03838c5ff269b672effb63b14b63 Mon Sep 17 00:00:00 2001 From: Sascha Wildner Date: Mon, 24 Dec 2012 22:48:03 +0100 Subject: [PATCH] librt/aio_cancel(): Set errno to EBADF if the fd is not valid. --- lib/librt/aio.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/librt/aio.c b/lib/librt/aio.c index 3823714fa6..91f88530ce 100644 --- a/lib/librt/aio.c +++ b/lib/librt/aio.c @@ -37,6 +37,7 @@ #include #include #include +#include #include #include #include @@ -215,6 +216,13 @@ aio_return(struct aiocb *ap) int aio_cancel(int fildes, struct aiocb *aiocbp) { + struct stat sb; + + /* must be a valid file descriptor */ + if (fstat(fildes, &sb)) { + errno = EBADF; + return -1; + } return (AIO_ALLDONE); } -- 2.41.0