diff options
Diffstat (limited to 'ui-ssdiff.c')
| -rw-r--r-- | ui-ssdiff.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/ui-ssdiff.c b/ui-ssdiff.c index 9fb5b11..0cff4b8 100644 --- a/ui-ssdiff.c +++ b/ui-ssdiff.c | |||
| @@ -23,7 +23,7 @@ static void create_or_reset_lcs_table() | |||
| 23 | int i; | 23 | int i; |
| 24 | 24 | ||
| 25 | if (L != NULL) { | 25 | if (L != NULL) { |
| 26 | memset(*L, 0, sizeof(*L) * MAX_SSDIFF_SIZE); | 26 | memset(*L, 0, sizeof(int) * MAX_SSDIFF_SIZE); |
| 27 | return; | 27 | return; |
| 28 | } | 28 | } |
| 29 | 29 | ||
| @@ -42,14 +42,12 @@ static char *longest_common_subsequence(char *A, char *B) | |||
| 42 | int i, j, ri; | 42 | int i, j, ri; |
| 43 | int m = strlen(A); | 43 | int m = strlen(A); |
| 44 | int n = strlen(B); | 44 | int n = strlen(B); |
| 45 | int tmp1, tmp2, length; | 45 | int tmp1, tmp2; |
| 46 | int lcs_length; | 46 | int lcs_length; |
| 47 | char *result; | 47 | char *result; |
| 48 | 48 | ||
| 49 | length = (m + 1) * (n + 1); | ||
| 50 | |||
| 51 | // We bail if the lines are too long | 49 | // We bail if the lines are too long |
| 52 | if (length > MAX_SSDIFF_SIZE) | 50 | if (m >= MAX_SSDIFF_M || n >= MAX_SSDIFF_N) |
| 53 | return NULL; | 51 | return NULL; |
| 54 | 52 | ||
| 55 | create_or_reset_lcs_table(); | 53 | create_or_reset_lcs_table(); |
