summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2020-11-21 17:33:08 +0000
committerEven Rouault <even.rouault@spatialys.com>2020-11-21 17:33:08 +0000
commitb53b6d9abbb2c1e42e66158ff2efc0bd35075d1a (patch)
treee1a14eac59f7dd80eabad309e467fd3113b386dc
parentb5a935d96b21cda0f434230cdf8ca958cd8b4eef (diff)
parent9c927442d3018f873d26d2bbd39579584296e955 (diff)
downloadlibtiff-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.c7
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);}