|
@@ -1,43 +0,0 @@
|
|
|
-From 03047a26952a82daaa0792957ce211e0aa51bc64 Mon Sep 17 00:00:00 2001
|
|
|
-From: 4ugustus <wangdw.augustus@qq.com>
|
|
|
-Date: Tue, 25 Jan 2022 16:25:28 +0000
|
|
|
-Subject: [PATCH] tiffset: fix global-buffer-overflow for ASCII tags where
|
|
|
- count is required (fixes #355)
|
|
|
-
|
|
|
-[Retrieved from:
|
|
|
-https://gitlab.com/libtiff/libtiff/-/commit/03047a26952a82daaa0792957ce211e0aa51bc64]
|
|
|
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
|
|
----
|
|
|
- tools/tiffset.c | 16 +++++++++++++---
|
|
|
- 1 file changed, 13 insertions(+), 3 deletions(-)
|
|
|
-
|
|
|
-diff --git a/tools/tiffset.c b/tools/tiffset.c
|
|
|
-index 8c9e23c5..e7a88c09 100644
|
|
|
---- a/tools/tiffset.c
|
|
|
-+++ b/tools/tiffset.c
|
|
|
-@@ -146,9 +146,19 @@ main(int argc, char* argv[])
|
|
|
-
|
|
|
- arg_index++;
|
|
|
- if (TIFFFieldDataType(fip) == TIFF_ASCII) {
|
|
|
-- if (TIFFSetField(tiff, TIFFFieldTag(fip), argv[arg_index]) != 1)
|
|
|
-- fprintf( stderr, "Failed to set %s=%s\n",
|
|
|
-- TIFFFieldName(fip), argv[arg_index] );
|
|
|
-+ if(TIFFFieldPassCount( fip )) {
|
|
|
-+ size_t len;
|
|
|
-+ len = strlen(argv[arg_index]) + 1;
|
|
|
-+ if (len > UINT16_MAX || TIFFSetField(tiff, TIFFFieldTag(fip),
|
|
|
-+ (uint16_t)len, argv[arg_index]) != 1)
|
|
|
-+ fprintf( stderr, "Failed to set %s=%s\n",
|
|
|
-+ TIFFFieldName(fip), argv[arg_index] );
|
|
|
-+ } else {
|
|
|
-+ if (TIFFSetField(tiff, TIFFFieldTag(fip),
|
|
|
-+ argv[arg_index]) != 1)
|
|
|
-+ fprintf( stderr, "Failed to set %s=%s\n",
|
|
|
-+ TIFFFieldName(fip), argv[arg_index] );
|
|
|
-+ }
|
|
|
- } else if (TIFFFieldWriteCount(fip) > 0
|
|
|
- || TIFFFieldWriteCount(fip) == TIFF_VARIABLE) {
|
|
|
- int ret = 1;
|
|
|
---
|
|
|
-GitLab
|
|
|
-
|