Revert "fix: PISingleApplication TOCTOU — two shm reads replaced with single atomic read"

This reverts commit 1b23a258b8.
This commit is contained in:
2026-08-10 14:59:13 +03:00
parent 1a153eefbc
commit fc2e49b096
@@ -128,14 +128,12 @@ void PISingleApplication::run() {
int st_[2] = {sacnt, sacnt}; int st_[2] = {sacnt, sacnt};
shm->write(st_, 8); shm->write(st_, 8);
// piCoutObj << "write" << sacnt; // piCoutObj << "write" << sacnt;
int ri[3] = {0, 0, 0};
const int hdr_sz = sizeof(int) * 3; const int hdr_sz = sizeof(int) * 3;
PIByteArray all(shm->size()); shm->read(ri, hdr_sz);
shm->read(all.data(), all.size());
int ri[3] = {0, 0, 0};
memcpy(ri, all.data(), hdr_sz);
if (ri[2] != 0 && ri[0] == ri[1]) { if (ri[2] != 0 && ri[0] == ri[1]) {
readed.resize(all.size() - hdr_sz); readed.resize(shm->size() - hdr_sz);
memcpy(readed.data(), all.data() + hdr_sz, readed.size()); shm->read(readed.data(), readed.size(), hdr_sz);
PIByteArray msg; PIByteArray msg;
readed >> msg; readed >> msg;
if (msg.isNotEmpty()) { if (msg.isNotEmpty()) {