[Thread] make sure buffer size is enough

inotify event size is dynamic, we need to make sure read would not
return error when having inotify event.

Bug: 333829392
Test: manual check `Invalid argument` error won't happen
Change-Id: I3cac8d1519659c6b1b53c1d41013818adab876c7
This commit is contained in:
shihchienc 2024-04-11 06:16:07 +00:00
parent 287187f1d2
commit cb8a9d74a0

View file

@ -23,6 +23,7 @@
#include "socket_interface.hpp"
#include <errno.h>
#include <linux/limits.h>
#include <openthread/logging.h>
#include <sys/inotify.h>
#include <sys/socket.h>
@ -273,7 +274,7 @@ void SocketInterface::WaitForSocketFileCreated(const char* aPath) {
}
if (FD_ISSET(inotifyFd, &fds)) {
char buffer[sizeof(struct inotify_event)];
char buffer[sizeof(struct inotify_event) + NAME_MAX + 1];
ssize_t bytesRead = read(inotifyFd, buffer, sizeof(buffer));
VerifyOrDie(bytesRead >= 0, OT_EXIT_ERROR_ERRNO);