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
@@ -360,18 +361,19 @@ static void mb2_dump_header(void* mbHeader) {
360361
361362uint8_t * mb2_find_header (uint8_t * image , int size )
362363{
363- uint32_t * ptr ;
364+ uint32_t val ;
364365 int i ;
365366
366367 if (size > MB2_HEADER_MAX_OFF )
367368 size = MB2_HEADER_MAX_OFF ;
368369 size = size / 4 ;
369- for (ptr = (uint32_t * )image ,i = 0 ; i < size ; ++ i ) {
370- if (ptr [i ] == MB2_HEADER_MAGIC ) {
370+ for (i = 0 ; i < size ; ++ i ) {
371+ memcpy (& val , image + i * 4 , sizeof (val ));
372+ if (val == MB2_HEADER_MAGIC ) {
371373#ifdef DEBUG_MB2
372- mb2_dump_header (& ptr [ i ] );
374+ mb2_dump_header (image + i * 4 );
373375#endif /* DEBUG_MB2 */
374- return ( uint8_t * ) & ptr [ i ] ;
376+ return image + i * 4 ;
375377 }
376378 }
377379 return NULL ;
You can’t perform that action at this time.
0 commit comments