Commit f6f4c787ef79f17c0e68c2d4b6a2d0e34af86739

Stefan Sperling 2021-11-23T19:12:49

sync files from diff.git f1dbec24f9a9553e22659f6c592c91e96221f6b9

1
2
3
4
5
6
7
8
9
10
11
12
diff --git a/lib/diff_myers.c b/lib/diff_myers.c
index 09e07bf..c886d1a 100644
--- a/lib/diff_myers.c
+++ b/lib/diff_myers.c
@@ -1098,6 +1098,7 @@ diff_algo_myers(const struct diff_algo_config *algo_config,
 	size_t kd_state_size = kd_buf_size * sizeof(int);
 	debug("state size: %zu\n", kd_state_size);
 	if (kd_buf_size < kd_len /* overflow? */
+	    || (SIZE_MAX / kd_len ) < kd_len
 	    || kd_state_size > algo_config->permitted_state_size) {
 		debug("state size %zu > permitted_state_size %zu, use fallback_algo\n",
 		      kd_state_size, algo_config->permitted_state_size);