Add more rules to make sure image is valid
This commit is contained in:
parent
2c90f35f92
commit
ca837206d5
12
ssdv.c
12
ssdv.c
|
@ -498,6 +498,11 @@ static char ssdv_have_marker(ssdv_t *s)
|
|||
s->state = S_MARKER_DATA;
|
||||
break;
|
||||
|
||||
case J_SOF2:
|
||||
/* Don't do progressive images! */
|
||||
fprintf(stderr, "Error: Progressive images not supported\n");
|
||||
return(SSDV_ERROR);
|
||||
|
||||
case J_DHT:
|
||||
case J_DQT:
|
||||
/* Copy the tables into memory */
|
||||
|
@ -555,6 +560,13 @@ static char ssdv_have_marker_data(ssdv_t *s)
|
|||
return(SSDV_ERROR);
|
||||
}
|
||||
|
||||
/* Maximum image is 4080x4080 */
|
||||
if(s->width > 4080 || s->height > 4080)
|
||||
{
|
||||
fprintf(stderr, "Error: The image is too big. Maximum resolution is 4080x4080\n");
|
||||
return(SSDV_ERROR);
|
||||
}
|
||||
|
||||
/* The image dimensions must be a multiple of 16 */
|
||||
if((s->width & 0x0F) || (s->height & 0x0F))
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue