File tree Expand file tree Collapse file tree 1 file changed +8
-0
lines changed Expand file tree Collapse file tree 1 file changed +8
-0
lines changed Original file line number Diff line number Diff line change @@ -15,6 +15,8 @@ LOG_MODULE_REGISTER(sketch);
1515#include <zephyr/shell/shell.h>
1616#include <zephyr/shell/shell_uart.h>
1717
18+ #include <zephyr/sys/byteorder.h>
19+
1820#include <stdlib.h>
1921#include <zephyr/drivers/gpio.h>
2022#include <zephyr/drivers/uart.h>
@@ -112,7 +114,13 @@ static int loader(const struct shell *sh) {
112114 }
113115
114116 bool sketch_valid = true;
117+
115118 struct sketch_header_v1 * sketch_hdr = (struct sketch_header_v1 * )(header + 7 );
119+
120+ // Ensure endianness is preserved in fields of header with more than 1 byte
121+ sketch_hdr -> len = sys_le32_to_cpu (sketch_hdr .len );
122+ sketch_hdr -> magic = sys_le16_to_cpu (sketch_hdr .magic );
123+
116124 if (sketch_hdr -> ver != 0x1 || sketch_hdr -> magic != 0x2341 ) {
117125 printk ("Invalid sketch header\n" );
118126 sketch_valid = false;
You can’t perform that action at this time.
0 commit comments