r207031 - Fix leak introduced in r194610, found by LSan.
Nico Weber
thakis at chromium.org
Wed Apr 23 14:54:51 PDT 2014
On Wed, Apr 23, 2014 at 2:53 PM, Richard Smith <richard at metafoo.co.uk>wrote:
> On Wed, Apr 23, 2014 at 2:41 PM, Nico Weber <nicolasweber at gmx.de> wrote:
>
>> Author: nico
>> Date: Wed Apr 23 16:41:51 2014
>> New Revision: 207031
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=207031&view=rev
>> Log:
>> Fix leak introduced in r194610, found by LSan.
>>
>> LSan folks: LSan pointed to
>> #0 0x4953e0 in operator new[](unsigned long)
>> llvm/projects/compiler-rt/lib/asan/asan_new_delete.cc:64
>> #1 0x7fb82af5372f in clang::RewriteRope::MakeRopeString(char const*,
>> char const*) llvm/tools/clang/lib/Rewrite/Core/RewriteRope.cpp:796
>> instead of to the actual leak, which made tracking this down slower than
>> it could have been.
>>
>> Modified:
>> cfe/trunk/include/clang/Index/CommentToXML.h
>> cfe/trunk/lib/Index/CommentToXML.cpp
>>
>> Modified: cfe/trunk/include/clang/Index/CommentToXML.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Index/CommentToXML.h?rev=207031&r1=207030&r2=207031&view=diff
>>
>> ==============================================================================
>> --- cfe/trunk/include/clang/Index/CommentToXML.h (original)
>> +++ cfe/trunk/include/clang/Index/CommentToXML.h Wed Apr 23 16:41:51 2014
>> @@ -29,6 +29,7 @@ class CommentToXMLConverter {
>>
>> public:
>> CommentToXMLConverter() : FormatContext(0), FormatInMemoryUniqueId(0)
>> {}
>> + ~CommentToXMLConverter();
>>
>> void convertCommentToHTML(const comments::FullComment *FC,
>> SmallVectorImpl<char> &HTML,
>>
>> Modified: cfe/trunk/lib/Index/CommentToXML.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Index/CommentToXML.cpp?rev=207031&r1=207030&r2=207031&view=diff
>>
>> ==============================================================================
>> --- cfe/trunk/lib/Index/CommentToXML.cpp (original)
>> +++ cfe/trunk/lib/Index/CommentToXML.cpp Wed Apr 23 16:41:51 2014
>> @@ -1136,6 +1136,10 @@ void CommentASTToXMLConverter::appendToR
>> Result << "]]>";
>> }
>>
>> +CommentToXMLConverter::~CommentToXMLConverter() {
>> + delete FormatContext;
>>
>
> Is it possible to use unique_ptr here?
>
That was my first attempt, but unique_ptr requires a complete type
and SimpleFormatContext is defined in lib/Index while CommentToXML.h is in
include/clang/Index. Is it possible to use unique_ptr in this scenario?
>
>
>> +}
>> +
>> void CommentToXMLConverter::convertCommentToHTML(const FullComment *FC,
>> SmallVectorImpl<char>
>> &HTML,
>> const ASTContext
>> &Context) {
>>
>>
>> _______________________________________________
>> cfe-commits mailing list
>> cfe-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>>
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140423/a1a03094/attachment.html>
More information about the cfe-commits
mailing list