File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 2323
2424#include <stdint.h>
2525#include <stdio.h>
26+ #include <string.h>
2627#include <printf.h>
2728#include <sys/types.h>
2829
@@ -352,18 +353,19 @@ static void mb2_dump_header(void* mbHeader) {
352353
353354uint8_t * mb2_find_header (uint8_t * image , int size )
354355{
355- uint32_t * ptr ;
356+ uint32_t val ;
356357 int i ;
357358
358359 if (size > MB2_HEADER_MAX_OFF )
359360 size = MB2_HEADER_MAX_OFF ;
360361 size = size / 4 ;
361- for (ptr = (uint32_t * )image ,i = 0 ; i < size ; ++ i ) {
362- if (ptr [i ] == MB2_HEADER_MAGIC ) {
362+ for (i = 0 ; i < size ; ++ i ) {
363+ memcpy (& val , image + i * 4 , sizeof (val ));
364+ if (val == MB2_HEADER_MAGIC ) {
363365#ifdef DEBUG_MB2
364- mb2_dump_header (& ptr [ i ] );
366+ mb2_dump_header (image + i * 4 );
365367#endif /* DEBUG_MB2 */
366- return ( uint8_t * ) & ptr [ i ] ;
368+ return image + i * 4 ;
367369 }
368370 }
369371 return NULL ;
You can’t perform that action at this time.
0 commit comments