Skip to content
Snippets Groups Projects
Commit 7cc8d616 authored by Ramiro Polla's avatar Ramiro Polla Committed by Jeff Downs
Browse files

Fix unaligned accesses by doing bytewise access until aligned, then

continuing in 32-bit quantities.
Fixes crash observed on sparc during FATE mlp test.
Patch by Ramiro.

Originally committed as revision 19200 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent d9982edf
No related branches found
No related tags found
No related merge requests found
...@@ -96,6 +96,8 @@ uint8_t ff_mlp_calculate_parity(const uint8_t *buf, unsigned int buf_size) ...@@ -96,6 +96,8 @@ uint8_t ff_mlp_calculate_parity(const uint8_t *buf, unsigned int buf_size)
uint32_t scratch = 0; uint32_t scratch = 0;
const uint8_t *buf_end = buf + buf_size; const uint8_t *buf_end = buf + buf_size;
for (; ((intptr_t) buf & 3) && buf < buf_end; buf++)
scratch ^= *buf;
for (; buf < buf_end - 3; buf += 4) for (; buf < buf_end - 3; buf += 4)
scratch ^= *((const uint32_t*)buf); scratch ^= *((const uint32_t*)buf);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment