diff options
author | pfg <pfg@FreeBSD.org> | 2013-12-12 19:01:50 +0000 |
---|---|---|
committer | pfg <pfg@FreeBSD.org> | 2013-12-12 19:01:50 +0000 |
commit | b8648b775ac53e96f3a168ab937cc4ad57a56fa8 (patch) | |
tree | 1bb3238acf14b6f6665ddafaf7d3e623da5da544 | |
parent | 4bda5ad442033e7431a147e520f5977706e24fa2 (diff) | |
download | FreeBSD-src-b8648b775ac53e96f3a168ab937cc4ad57a56fa8.zip FreeBSD-src-b8648b775ac53e96f3a168ab937cc4ad57a56fa8.tar.gz |
MFC r258712;
libcpp: fix an underflow.
Similar fix seen in Apple's gcc42.
Obtained from: OpenBSD (Rev 1.2)
MFC after: 2 weeks
-rw-r--r-- | contrib/gcclibs/libcpp/charset.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/contrib/gcclibs/libcpp/charset.c b/contrib/gcclibs/libcpp/charset.c index 78c8981..6361f8c 100644 --- a/contrib/gcclibs/libcpp/charset.c +++ b/contrib/gcclibs/libcpp/charset.c @@ -1628,7 +1628,7 @@ _cpp_convert_input (cpp_reader *pfile, const char *input_charset, terminate with another \r, not an \n, so that we do not mistake the \r\n sequence for a single DOS line ending and erroneously issue the "No newline at end of file" diagnostic. */ - if (to.text[to.len - 1] == '\r') + if (to.len > 0 && to.text[to.len - 1] == '\r') to.text[to.len] = '\r'; else to.text[to.len] = '\n'; |