Author: lattner
Date: Tue Sep 30 15:51:14 2008
New Revision: 56879
URL: http://llvm.org/viewvc/llvm-project?rev=56879&view=rev
Log:
fix a potential buffer overrun that Eli noticed
Modified:
cfe/trunk/lib/Sema/SemaExpr.cpp
Modified: cfe/trunk/lib/Sema/SemaExpr.cpp
URL:
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaExpr.cpp?rev=56879&r1=56878&r2=56879&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaExpr.cpp (original)
+++ cfe/trunk/lib/Sema/SemaExpr.cpp Tue Sep 30 15:51:14 2008
@@ -523,6 +523,13 @@
// Get the spelling of the token, which eliminates trigraphs, etc.
unsigned ActualLength = PP.getSpelling(Tok, ThisTokBegin);
+
+ // Add padding so that NumericLiteralParser can overread by one character.
+ if (!IntegerBuffer.empty()) {
+ IntegerBuffer.push_back(' ');
+ ThisTokBegin = &IntegerBuffer[0];
+ }
+
NumericLiteralParser Literal(ThisTokBegin, ThisTokBegin+ActualLength,
Tok.getLocation(), PP);
if (Literal.hadError)
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits