Merge pull request #548 from eglimi/fix_546

Fix some UB cases. Closes #546
This commit is contained in:
ArthurKetels 2021-08-31 19:01:24 +02:00 committed by GitHub
commit 4b81d4099d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 3 deletions

View File

@ -1474,7 +1474,10 @@ int ecx_config_overlap_map_group(ecx_contextt *context, void *pIOmap, uint8 grou
{
if (!group || (group == context->slavelist[slave].group))
{
context->slavelist[slave].inputs += context->grouplist[group].Obytes;
if(context->slavelist[slave].Ibits > 0)
{
context->slavelist[slave].inputs += context->grouplist[group].Obytes;
}
}
}

View File

@ -349,7 +349,7 @@ uint8 ecx_siigetbyte(ecx_contextt *context, uint16 slave, uint16 address)
{
mapw = address >> 5;
mapb = (uint16)(address - (mapw << 5));
if (context->esimap[mapw] & (uint32)(1 << mapb))
if (context->esimap[mapw] & (1U << mapb))
{
/* byte is already in buffer */
retval = context->esibuf[address];
@ -380,7 +380,7 @@ uint8 ecx_siigetbyte(ecx_contextt *context, uint16 slave, uint16 address)
for(lp = 0 ; lp < cnt ; lp++)
{
/* set bitmap for each byte that is read */
context->esimap[mapw] |= (1 << mapb);
context->esimap[mapw] |= (1U << mapb);
mapb++;
if (mapb > 31)
{