From 1232759fb7378b9a49e19c6ae172faed47b4c6f9 Mon Sep 17 00:00:00 2001 From: Alexey Lapshin Date: Thu, 26 Sep 2024 14:27:42 +0700 Subject: [PATCH] fix(vfs): fix gcc 14 analyzer warning --- components/vfs/vfs.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/components/vfs/vfs.c b/components/vfs/vfs.c index 52a8dfe31c..7c6cd90a1c 100644 --- a/components/vfs/vfs.c +++ b/components/vfs/vfs.c @@ -1052,10 +1052,22 @@ int esp_vfs_ioctl(int fd, int cmd, ...) __errno_r(r) = EBADF; return -1; } - int ret; + va_list args; va_start(args, cmd); - CHECK_AND_CALL(ret, r, vfs, ioctl, local_fd, cmd, args); + if (vfs->vfs->ioctl == NULL) { + __errno_r(r) = ENOSYS; + va_end(args); + return -1; + } + + int ret; + if (vfs->flags & ESP_VFS_FLAG_CONTEXT_PTR) { + ret = (*vfs->vfs->ioctl_p)(vfs->ctx, local_fd, cmd, args); + } else { + ret = (*vfs->vfs->ioctl)(local_fd, cmd, args); + } + va_end(args); return ret; }