This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git
commit 76a4ca01a34a4ce93c4c45637b5de6e9a156716a Author: Xiang Xiao <[email protected]> AuthorDate: Sat Dec 18 21:34:15 2021 +0800 eventfd: Change minor type from size_t to unsigned int to avoid the potential overflow devpath buffer on 64bit platform Signed-off-by: Xiang Xiao <[email protected]> --- fs/vfs/fs_eventfd.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/fs/vfs/fs_eventfd.c b/fs/vfs/fs_eventfd.c index ed924d2..738544d 100644 --- a/fs/vfs/fs_eventfd.c +++ b/fs/vfs/fs_eventfd.c @@ -66,10 +66,10 @@ struct eventfd_priv_s sem_t exclsem; /* Enforces device exclusive access */ eventfd_waiter_sem_t *rdsems; /* List of blocking readers */ eventfd_waiter_sem_t *wrsems; /* List of blocking writers */ - eventfd_t counter; /* eventfd counter */ - size_t minor; /* eventfd minor number */ - uint8_t crefs; /* References counts on eventfd (max: 255) */ - uint8_t mode_semaphore; /* eventfd mode (semaphore or counter) */ + eventfd_t counter; /* eventfd counter */ + unsigned int minor; /* eventfd minor number */ + uint8_t crefs; /* References counts on eventfd (max: 255) */ + uint8_t mode_semaphore; /* eventfd mode (semaphore or counter) */ /* The following is a list if poll structures of threads waiting for * driver events. @@ -103,8 +103,8 @@ static int eventfd_blocking_io(FAR struct eventfd_priv_s *dev, eventfd_waiter_sem_t *sem, FAR eventfd_waiter_sem_t **slist); -static size_t eventfd_get_unique_minor(void); -static void eventfd_release_minor(size_t minor); +static unsigned int eventfd_get_unique_minor(void); +static void eventfd_release_minor(unsigned int minor); static FAR struct eventfd_priv_s *eventfd_allocdev(void); static void eventfd_destroy(FAR struct eventfd_priv_s *dev); @@ -175,14 +175,14 @@ static void eventfd_pollnotify(FAR struct eventfd_priv_s *dev, } #endif -static size_t eventfd_get_unique_minor(void) +static unsigned int eventfd_get_unique_minor(void) { - static size_t minor; + static unsigned int minor; return minor++; } -static void eventfd_release_minor(size_t minor) +static void eventfd_release_minor(unsigned int minor) { } @@ -591,7 +591,7 @@ int eventfd(unsigned int count, int flags) /* Get device path */ - sprintf(devpath, CONFIG_EVENT_FD_VFS_PATH "/efd%d", new_dev->minor); + sprintf(devpath, CONFIG_EVENT_FD_VFS_PATH "/efd%u", new_dev->minor); /* Register the driver */
