epics-base / pvDataCPP

pvDataCPP is an EPICS V4 C++ module
https://epics-base.github.io/pvDataCPP/
Other
6 stars 16 forks source link

BE array serialization broken #65

Closed mdavidsaver closed 5 years ago

mdavidsaver commented 5 years ago

The fix for #54 introduced a regression to ByteBuffer effecting serialization to big endian. The bug appears when an array is serialized by a BE peer, or from a BE peer. The effect is an out of bounds array access.

mdavidsaver commented 5 years ago

Thanks to @hjunkes for reporting and identifying the cause.

https://epics.anl.gov/tech-talk/2019/msg00571.php

mdavidsaver commented 5 years ago

Added test coverage with 5525119778bcefdbe53103a1c07984c0d7fae112 and fixed with 8f0111e482aa139f4311378f2b0bc831c46420b2

hjunkes commented 5 years ago

I have tested the fix on RTEMS - 5 PowerPc It worked. The test also worked.

mdavidsaver commented 5 years ago

Re-opening until this fix is included in a release.

mdavidsaver commented 5 years ago

Released in module version 8.0.0, included in EPICS 7.0.3