bastibl / gr-ieee802-11

IEEE 802.11 a/g/p Transceiver
https://wime-project.net/
GNU General Public License v3.0
744 stars 290 forks source link

Fix for insufficient initialization for generic decoder. #357

Closed itaru1129 closed 2 years ago

itaru1129 commented 2 years ago

On x86 SSE environment, viterbi_decoder_x86.cc is used and has no issue, But on generic environment, viterbi_decoder_generic.cc is used and has an issue.

In the SSE environment, d_metric0 is 4 count array of m128i. ` m128i d_metric0[4] attribute((aligned(16)));`

but in the generic environment, d_metric0_generic is 64 count array of unsigned char. unsigned char d_metric0_generic[64] __attribute__((aligned(16)));

So the metric is insufficiently initialized in the generic environment after 2nd frame.

bastibl commented 2 years ago

Thanks!

bastibl commented 2 years ago

Very good catch. It's interesting how long this bug was in there and nobody hit/found it. In the last weeks three people hit it independently :-)