r241705 - AST: Avoid reading an unitialized value
Justin Bogner
mail at justinbogner.com
Wed Jul 8 12:55:48 PDT 2015
Aaron Ballman <aaron at aaronballman.com> writes:
> Test case?
Well, it fixed at least 30 test failures in "ninja check-clang" under
ubsan. I'm not really sure it can be triggered reliably without ubsan.
> ~Aaron
>
> On Wed, Jul 8, 2015 at 2:32 PM, Justin Bogner <mail at justinbogner.com> wrote:
>> Author: bogner
>> Date: Wed Jul 8 13:32:26 2015
>> New Revision: 241705
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=241705&view=rev
>> Log:
>> AST: Avoid reading an unitialized value
>>
>> Desugar doesn't necessarily initialize ShouldAKA, but as of r241542 it
>> may read it. Fix the misuse of the API and initialize this before
>> passing it in.
>>
>> Found by ubsan.
>>
>> Modified:
>> cfe/trunk/lib/AST/ASTDiagnostic.cpp
>>
>> Modified: cfe/trunk/lib/AST/ASTDiagnostic.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/ASTDiagnostic.cpp?rev=241705&r1=241704&r2=241705&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/AST/ASTDiagnostic.cpp (original)
>> +++ cfe/trunk/lib/AST/ASTDiagnostic.cpp Wed Jul 8 13:32:26 2015
>> @@ -192,8 +192,8 @@ ConvertTypeToDiagnosticString(ASTContext
>> if (CompareCanTy == CanTy)
>> continue; // Same canonical types
>> std::string CompareS = CompareTy.getAsString(Context.getPrintingPolicy());
>> - bool aka;
>> - QualType CompareDesugar = Desugar(Context, CompareTy, aka);
>> + bool ShouldAKA = false;
>> + QualType CompareDesugar = Desugar(Context, CompareTy, ShouldAKA);
>> std::string CompareDesugarStr =
>> CompareDesugar.getAsString(Context.getPrintingPolicy());
>> if (CompareS != S && CompareDesugarStr != S)
>>
>>
>> _______________________________________________
>> cfe-commits mailing list
>> cfe-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
More information about the cfe-commits
mailing list