33 lines
1.5 KiB
Diff
33 lines
1.5 KiB
Diff
From 3635844b59578eb572372e7546548ea84c967ba1 Mon Sep 17 00:00:00 2001
|
|
From: Su_Laus <sulau@freenet.de>
|
|
Date: Sat, 20 Aug 2022 23:35:26 +0200
|
|
Subject: [PATCH] (CVE-2022-2519 CVE-2022-2520 CVE-2022-2521 CVE-2022-2953)
|
|
tiffcrop -S option: Make decision simpler.
|
|
|
|
(cherry picked from commit bad48e90b410df32172006c7876da449ba62cdba)
|
|
---
|
|
tools/tiffcrop.c | 10 +++++-----
|
|
1 file changed, 5 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/tools/tiffcrop.c b/tools/tiffcrop.c
|
|
index 27e6f81c..ff118496 100644
|
|
--- a/tools/tiffcrop.c
|
|
+++ b/tools/tiffcrop.c
|
|
@@ -2106,11 +2106,11 @@ void process_command_opts (int argc, char *argv[], char *mp, char *mode, uint32
|
|
}
|
|
/*-- Check for not allowed combinations (e.g. -X, -Y and -Z, -z and -S are mutually exclusive) --*/
|
|
char XY, Z, R, S;
|
|
- XY = ((crop_data->crop_mode & CROP_WIDTH) || (crop_data->crop_mode & CROP_LENGTH));
|
|
- Z = (crop_data->crop_mode & CROP_ZONES);
|
|
- R = (crop_data->crop_mode & CROP_REGIONS);
|
|
- S = (page->mode & PAGE_MODE_ROWSCOLS);
|
|
- if ((XY && Z) || (XY && R) || (XY && S) || (Z && R) || (Z && S) || (R && S)) {
|
|
+ XY = ((crop_data->crop_mode & CROP_WIDTH) || (crop_data->crop_mode & CROP_LENGTH)) ? 1 : 0;
|
|
+ Z = (crop_data->crop_mode & CROP_ZONES) ? 1 : 0;
|
|
+ R = (crop_data->crop_mode & CROP_REGIONS) ? 1 : 0;
|
|
+ S = (page->mode & PAGE_MODE_ROWSCOLS) ? 1 : 0;
|
|
+ if (XY + Z + R + S > 1) {
|
|
TIFFError("tiffcrop input error", "The crop options(-X|-Y), -Z, -z and -S are mutually exclusive.->Exit");
|
|
exit(EXIT_FAILURE);
|
|
}
|