diff options
Diffstat (limited to 'app-text/chasen/files/chasen-2.4.4-cve-2011-4000.patch')
-rw-r--r-- | app-text/chasen/files/chasen-2.4.4-cve-2011-4000.patch | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/app-text/chasen/files/chasen-2.4.4-cve-2011-4000.patch b/app-text/chasen/files/chasen-2.4.4-cve-2011-4000.patch new file mode 100644 index 000000000000..61480622e40a --- /dev/null +++ b/app-text/chasen/files/chasen-2.4.4-cve-2011-4000.patch @@ -0,0 +1,21 @@ +diff --git a/lib/chalib.c b/lib/chalib.c +index 5d79e13..cddf51b 100644 +--- a/lib/chalib.c ++++ b/lib/chalib.c +@@ -306,9 +306,14 @@ chasen_sparse_main(char *input, FILE *output) + */ + while (*input) { + int c = 0, len, cursor; +- if ((crlf = strpbrk(input, "\r\n")) == NULL) ++ if ((crlf = strpbrk(input, "\r\n")) == NULL) { + len = strlen(input); +- else { ++ if (len >= CHA_INPUT_SIZE) { ++ len = CHA_INPUT_SIZE - 1; ++ crlf = input + CHA_INPUT_SIZE - 2; ++ c = 0; ++ } ++ } else { + len = crlf - input; + c = *crlf; + *crlf = '\0'; |