bug fixes related to file saving (#931)

* fix the file path resetting issue of GUI in the case where different modules have different fpath setting.

* fix stack-buffer-overflow issue when using HDF5 HDF5DataFile::parameterDataTypes have 64bit type (i.e. STD_U64LE), the size of fill_value should be at least 8 bytes.

* change the type of fill_value to uint64_t
This commit is contained in:
Z.H. Li 2024-08-19 18:58:31 +08:00 committed by GitHub
parent 043a5f3cc1
commit 856b5e8aab
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 4 additions and 4 deletions

View File

@ -839,8 +839,8 @@ void qTabMeasurement::UpdateProgress() {
int qTabMeasurement::VerifyOutputDirectoryError() {
try {
auto retval = det->getFilePath();
for (auto &it : retval) {
det->setFilePath(it);
for (size_t i = 0; i < retval.size(); i++) {
det->setFilePath(retval[i], {i});
}
return slsDetectorDefs::OK;
}

View File

@ -186,7 +186,7 @@ void HDF5DataFile::CreateFile() {
// property list
H5::DSetCreatPropList plist;
H5::DSetCreatPropList plistPara;
int fill_value = -1;
uint64_t fill_value = -1;
plist.setFillValue(dataType, &fill_value);
// plistPara.setFillValue(dataType, &fill_value);
plist.setChunk(DATA_RANK, dimsChunk);

View File

@ -215,7 +215,7 @@ std::string CreateVirtualHDF5File(
// property list
H5::DSetCreatPropList plist;
int fill_value = -1;
uint64_t fill_value = -1;
plist.setFillValue(dataType, &fill_value);
std::vector<H5::DSetCreatPropList> plistPara(paraSize);
// ignoring last fill (string)