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>
Este commit está contenido en:
padre
94b7c76e53
commit
19c31231fa
@ -42,14 +42,12 @@ static char *longest_common_subsequence(char *A, char *B)
|
||||
int i, j, ri;
|
||||
int m = strlen(A);
|
||||
int n = strlen(B);
|
||||
int tmp1, tmp2, length;
|
||||
int tmp1, tmp2;
|
||||
int lcs_length;
|
||||
char *result;
|
||||
|
||||
length = (m + 1) * (n + 1);
|
||||
|
||||
// We bail if the lines are too long
|
||||
if (length > MAX_SSDIFF_SIZE)
|
||||
if (m >= MAX_SSDIFF_M || n >= MAX_SSDIFF_N)
|
||||
return NULL;
|
||||
|
||||
create_or_reset_lcs_table();
|
||||
|
Cargando…
Referencia en una nueva incidencia
Block a user