r241705 - AST: Avoid reading an unitialized value

Justin Bogner mail at justinbogner.com
Wed Jul 8 14:16:26 PDT 2015


Aaron Ballman <aaron at aaronballman.com> writes:
> On Wed, Jul 8, 2015 at 3:55 PM, Justin Bogner <mail at justinbogner.com> wrote:
>> 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.
>
> If we have ubsan tests that are run by a bot, then I think existing
> tests probably cover it.

http://lab.llvm.org:8080/green/view/Clang/job/clang-stage2-cmake-RgSan/

Doesn't notify people for failures yet, since it's never passed. It
should be at 5 to 9 tests failing after the current run though. Soon :)

> ~Aaron
>
>>
>>> ~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