Fix possible race condition in fsa_dirnext

Also some minor line changes to make em match a bit better!
This commit is contained in:
Crementif 2022-09-04 19:42:48 +02:00 committed by Maschell
parent 0c624531ca
commit f3c45c52ad
4 changed files with 5 additions and 9 deletions

View File

@ -13,12 +13,11 @@ int __fsa_dirnext(struct _reent *r,
return -1;
}
auto *dir = (__fsa_dir_t *) (dirState->dirStruct);
memset(&dir->entry_data, 0, sizeof(dir->entry_data));
auto *deviceData = (FSADeviceData *) r->deviceData;
auto *dir = (__fsa_dir_t *) (dirState->dirStruct);
std::lock_guard<MutexWrapper> lock(dir->mutex);
memset(&dir->entry_data, 0, sizeof(dir->entry_data));
status = FSAReadDir(deviceData->clientHandle, dir->fd, &dir->entry_data);
if (status < 0) {

View File

@ -11,8 +11,7 @@ int __fsa_fsync(struct _reent *r,
return -1;
}
auto *file = (__fsa_file_t *) fd;
auto *file = (__fsa_file_t *) fd;
auto *deviceData = (FSADeviceData *) r->deviceData;
std::lock_guard<MutexWrapper> lock(file->mutex);

View File

@ -15,8 +15,7 @@ off_t __fsa_seek(struct _reent *r,
return -1;
}
auto *file = (__fsa_file_t *) fd;
auto *file = (__fsa_file_t *) fd;
auto *deviceData = (FSADeviceData *) r->deviceData;
std::lock_guard<MutexWrapper> lock(file->mutex);

View File

@ -13,8 +13,7 @@ int __fsa_ftruncate(struct _reent *r,
return -1;
}
auto *file = (__fsa_file_t *) fd;
auto *file = (__fsa_file_t *) fd;
auto *deviceData = (FSADeviceData *) r->deviceData;
std::lock_guard<MutexWrapper> lock(file->mutex);