sys_restoreDeviceParameter() check size of struct T_devices

This commit is contained in:
Siegfried Siegert 2024-02-06 09:36:26 +01:00
parent 786c4332ee
commit 8ee6fa24d9
Signed by: SiegfriedSiegert
GPG Key ID: 68371E015E8F0B03

View File

@ -3319,26 +3319,15 @@ void hwapi::sys_restoreDeviceParameter(struct T_devices *deviceSettings) const
// attention: only applies if function "sys_sendDeviceParameter()" was used to send this settings before
// cannot be used to see settings programmed by JsonFile
uint8_t buf[64];
uint8_t LL, nn;
uint8_t LL;
tslib_strclr(buf,0,64);
uint8_t *start;
//runProcess->epi_restore64BdevParameter(&LL, buf); // wozu die???
epi_restoreRbDeviceSettings(&LL, buf); // viel besser, stimmt immer
if (LL >= sizeof(T_devices)) {
LL = sizeof (T_devices);
}
// Puffer in struct eintragen:
start = &deviceSettings->kindOfPrinter;
nn=0;
do
{
*start = buf[nn];
start++;
} while(++nn<LL);
Q_STATIC_ASSERT(sizeof(*deviceSettings) <= sizeof(buf));
memcpy(deviceSettings, buf, sizeof(*deviceSettings));
}
bool hwapi::sys_areDCdataValid(void) const