File tree Expand file tree Collapse file tree 1 file changed +11
-4
lines changed
Expand file tree Collapse file tree 1 file changed +11
-4
lines changed Original file line number Diff line number Diff line change 4242static const char * TAG = "cam_hal" ;
4343static cam_obj_t * cam_obj = NULL ;
4444
45- static const uint32_t JPEG_SOI_MARKER = 0xFFD8FF ; // written in little-endian for esp32
46- static const uint16_t JPEG_EOI_MARKER = 0xD9FF ; // written in little-endian for esp32
45+ /* JPEG markers in little-endian order (ESP32). */
46+ static const uint8_t JPEG_SOI_MARKER [] = {0xFF , 0xD8 , 0xFF }; /* SOI = FF D8 FF */
47+ #define JPEG_SOI_MARKER_LEN (3)
48+ static const uint16_t JPEG_EOI_MARKER = 0xD9FF ; /* EOI = FF D9 */
4749
4850static int cam_verify_jpeg_soi (const uint8_t * inbuf , uint32_t length )
4951{
50- for (uint32_t i = 0 ; i < length ; i ++ ) {
51- if (memcmp (& inbuf [i ], & JPEG_SOI_MARKER , 3 ) == 0 ) {
52+ if (length < JPEG_SOI_MARKER_LEN ) {
53+ ESP_LOGW (TAG , "NO-SOI" );
54+ return -1 ;
55+ }
56+
57+ for (uint32_t i = 0 ; i <= length - JPEG_SOI_MARKER_LEN ; i ++ ) {
58+ if (memcmp (& inbuf [i ], JPEG_SOI_MARKER , JPEG_SOI_MARKER_LEN ) == 0 ) {
5259 //ESP_LOGW(TAG, "SOI: %d", (int) i);
5360 return i ;
5461 }
You can’t perform that action at this time.
0 commit comments