Joel Sherrill created an issue:
https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5083
Assignee: Joel Sherrill
## Summary
After analysis by myself and @opticron, we realised that this can be fixed by
negating the shift_cnt and shifting the other direction. Per git blame, this
file was written by Thomas Doerfler and merged in 2008-07-11. This particular
area of code is unchanged since then.
CID 1399704
```
245 }
28. Condition shift_cnt < 0, taking true branch.
29. cond_at_most: Checking shift_cnt < 0 implies that shift_cnt may be
up to -1 on the true branch.
246 if (shift_cnt < 0) {
CID 1399704: (#1 of 1): Bad bit shift operation (BAD_SHIFT)
30. negative_shift: In expression byte >> shift_cnt, shifting by a negative
amount has undefined behavior. The shift amount, shift_cnt, is no more than -1.
247 byte = byte >> shift_cnt;
248 }
249 else if (shift_cnt > 0) {
250 byte = byte >> shift_cnt;
251 }
252 ((unsigned char *)(dst->latin1[glyph_idx]->bitmap))[bcnt] = byte;
253 }
```
## Steps to reproduce
--
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5083
You're receiving this email because of your account on gitlab.rtems.org.
_______________________________________________
bugs mailing list
[email protected]
http://lists.rtems.org/mailman/listinfo/bugs