tiff2pdf: enforce memory limit for tiled pictures too

fixes #201
This commit is contained in:
Thomas Bernard 2020-11-18 00:34:43 +01:00
parent dadd8c7dce
commit 9c927442d3
No known key found for this signature in database
GPG Key ID: DB511043A31ACAAF

View File

@ -5684,6 +5684,13 @@ tsize_t t2p_write_pdf(T2P* t2p, TIFF* input, TIFF* output){
written += t2p_write_pdf_stream_start(output); written += t2p_write_pdf_stream_start(output);
streamlen=written; streamlen=written;
t2p_read_tiff_size_tile(t2p, input, i2); t2p_read_tiff_size_tile(t2p, input, i2);
if (t2p->tiff_maxdatasize && (t2p->tiff_datasize > t2p->tiff_maxdatasize)) {
TIFFError(TIFF2PDF_MODULE,
"Allocation of " TIFF_UINT64_FORMAT " bytes is forbidden. Limit is " TIFF_UINT64_FORMAT ". Use -m option to change limit",
(uint64)t2p->tiff_datasize, (uint64)t2p->tiff_maxdatasize);
t2p->t2p_error = T2P_ERR_ERROR;
return (0);
}
written += t2p_readwrite_pdf_image_tile(t2p, input, output, i2); written += t2p_readwrite_pdf_image_tile(t2p, input, output, i2);
t2p_write_advance_directory(t2p, output); t2p_write_advance_directory(t2p, output);
if(t2p->t2p_error!=T2P_ERR_OK){return(0);} if(t2p->t2p_error!=T2P_ERR_OK){return(0);}