triple: add a sanity check to cVideo::GetScreenImage

This commit is contained in:
Stefan Seyfried
2013-01-13 18:11:36 +01:00
parent ae74fe2d0f
commit e6fefa10c1
2 changed files with 8 additions and 0 deletions

View File

@@ -942,6 +942,12 @@ bool cVideo::GetScreenImage(unsigned char * &video, int &xres, int &yres, bool g
} }
uint16_t w = *(uint16_t *)(map + WIDTH_OFF); uint16_t w = *(uint16_t *)(map + WIDTH_OFF);
uint16_t h = *(uint16_t *)(map + HEIGHT_OFF); uint16_t h = *(uint16_t *)(map + HEIGHT_OFF);
if (w > 720 || h > 576) {
lt_info("%s: unhandled resolution %dx%d, is the tuner locked?\n", __func__, w, h);
munmap(map, VIDEO_SIZE);
close(mfd);
return false;
}
uint8_t *luma, *chroma; uint8_t *luma, *chroma;
int needmem = w * h * 5 / 4; /* chroma is 1/4 in size of luma */ int needmem = w * h * 5 / 4; /* chroma is 1/4 in size of luma */
int lumasize = w * h; int lumasize = w * h;

View File

@@ -6,6 +6,8 @@
//#define video_displayformat_t vidDispMode_t //#define video_displayformat_t vidDispMode_t
#include "../common/cs_types.h" #include "../common/cs_types.h"
#define STB_HAL_VIDEO_HAS_GETSCREENIMAGE 1
typedef enum { typedef enum {
ANALOG_SD_RGB_SCART = 0x00, ANALOG_SD_RGB_SCART = 0x00,
ANALOG_SD_YPRPB_SCART, ANALOG_SD_YPRPB_SCART,