[client] common: fix time of check/time of use issue

This commit is contained in:
Geoffrey McRae 2023-11-11 13:37:51 +11:00
parent 9a53880b9b
commit aa42751743

View File

@ -149,15 +149,6 @@ bool ivshmemOpenDev(struct IVSHMEM * dev, const char * shmDevice)
} }
else else
{ {
struct stat st;
if (stat(shmDevice, &st) != 0)
{
DEBUG_ERROR("Failed to stat: %s", shmDevice);
DEBUG_ERROR("%s", strerror(errno));
return false;
}
devSize = st.st_size;
devFd = open(shmDevice, O_RDWR, (mode_t)0600); devFd = open(shmDevice, O_RDWR, (mode_t)0600);
if (devFd < 0) if (devFd < 0)
{ {
@ -166,6 +157,16 @@ bool ivshmemOpenDev(struct IVSHMEM * dev, const char * shmDevice)
return false; return false;
} }
struct stat st;
if (fstat(devFd, &st) != 0)
{
DEBUG_ERROR("Failed to stat: %s", shmDevice);
DEBUG_ERROR("%s", strerror(errno));
close(devFd);
return false;
}
devSize = st.st_size;
hasDMA = false; hasDMA = false;
} }