diff options
author | Even Rouault <even.rouault@spatialys.com> | 2020-11-21 17:33:08 +0000 |
---|---|---|
committer | Even Rouault <even.rouault@spatialys.com> | 2020-11-21 17:33:08 +0000 |
commit | b53b6d9abbb2c1e42e66158ff2efc0bd35075d1a (patch) | |
tree | e1a14eac59f7dd80eabad309e467fd3113b386dc | |
parent | b5a935d96b21cda0f434230cdf8ca958cd8b4eef (diff) | |
parent | 9c927442d3018f873d26d2bbd39579584296e955 (diff) | |
download | libtiff-git-b53b6d9abbb2c1e42e66158ff2efc0bd35075d1a.tar.gz |
Merge branch 'issue-201' into 'master'
tiff2pdf: enforce memory limit for tiled pictures too
Closes #201
See merge request libtiff/libtiff!167
-rw-r--r-- | tools/tiff2pdf.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/tools/tiff2pdf.c b/tools/tiff2pdf.c index e7899f6a..26064b94 100644 --- a/tools/tiff2pdf.c +++ b/tools/tiff2pdf.c @@ -5684,6 +5684,13 @@ tsize_t t2p_write_pdf(T2P* t2p, TIFF* input, TIFF* output){ written += t2p_write_pdf_stream_start(output); streamlen=written; 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); t2p_write_advance_directory(t2p, output); if(t2p->t2p_error!=T2P_ERR_OK){return(0);} |