From 2e8e37bbf8860dc413a732f27ccbe2d841756443 Mon Sep 17 00:00:00 2001 From: chenrun1 Date: Fri, 20 Sep 2024 17:36:43 +0800 Subject: [PATCH] lib_fdopendir.c:Fix crash in fdopendir caused by fdsan Summary: Add fdsan check in fdopendir, fdsan can work normally when using fdopendir Signed-off-by: chenrun1 --- libs/libc/dirent/lib_fdopendir.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/libs/libc/dirent/lib_fdopendir.c b/libs/libc/dirent/lib_fdopendir.c index 80107ddefdb..be0f213c6db 100644 --- a/libs/libc/dirent/lib_fdopendir.c +++ b/libs/libc/dirent/lib_fdopendir.c @@ -27,6 +27,10 @@ #include #include +#ifdef CONFIG_FDSAN +# include +#endif + #include "libc.h" /**************************************************************************** @@ -83,5 +87,12 @@ FAR DIR *fdopendir(int fd) } dir->fd = fd; + +#ifdef CONFIG_FDSAN + android_fdsan_exchange_owner_tag(fd, 0, + android_fdsan_create_owner_tag(ANDROID_FDSAN_OWNER_TYPE_DIR, + (uintptr_t)dir)); +#endif + return dir; }