The patch to fix CVE-2012-5667 Reference: https://bugzilla.redhat.com/attachment.cgi?id=686605&action=diff Multiple integer overflows in GNU Grep before 2.11 might allow context-dependent attackers to execute arbitrary code via vectors involving a long input line that triggers a heap-based buffer overflow. http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-5667 Upstream-Status: Inappropriate [other] This version of GNU Grep has been abandoned upstream and they are no longer accepting patches. This is not a backport. CVE: CVE-2012-5667 Signed-off-by: Ming Liu --- grep.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) --- a/src/grep.c 2013-05-15 13:39:33.359191769 +0800 +++ a/src/grep.c 2013-05-15 13:50:22.609191882 +0800 @@ -306,6 +306,11 @@ fillbuf (size_t save, struct stats const int cc = 1; char *readbuf; size_t readsize; + const size_t max_save = INT_MAX / 2; + + /* Limit the amount of saved data to INT_MAX to fix CVE-2012-5667 */ + if (save > max_save) + error (2, 0, _("line too long")); /* Offset from start of buffer to start of old stuff that we want to save. */