mirror of
https://git.zx2c4.com/cgit
synced 2024-11-26 02:18:42 +00:00
ui-ssdiff.c: correct length check for LCS table
Each individual string may be too long for its respective dimension of the LCS table. Signed-off-by: Eric Wong <normalperson@yhbt.net>
This commit is contained in:
parent
94b7c76e53
commit
19c31231fa
@ -42,14 +42,12 @@ static char *longest_common_subsequence(char *A, char *B)
|
|||||||
int i, j, ri;
|
int i, j, ri;
|
||||||
int m = strlen(A);
|
int m = strlen(A);
|
||||||
int n = strlen(B);
|
int n = strlen(B);
|
||||||
int tmp1, tmp2, length;
|
int tmp1, tmp2;
|
||||||
int lcs_length;
|
int lcs_length;
|
||||||
char *result;
|
char *result;
|
||||||
|
|
||||||
length = (m + 1) * (n + 1);
|
|
||||||
|
|
||||||
// We bail if the lines are too long
|
// We bail if the lines are too long
|
||||||
if (length > MAX_SSDIFF_SIZE)
|
if (m >= MAX_SSDIFF_M || n >= MAX_SSDIFF_N)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
create_or_reset_lcs_table();
|
create_or_reset_lcs_table();
|
||||||
|
Loading…
Reference in New Issue
Block a user