r207031 - Fix leak introduced in r194610, found by LSan.

Richard Smith richard at metafoo.co.uk
Wed Apr 23 14:53:17 PDT 2014


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?


> +}
> +
>  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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140423/3a061ab3/attachment.html>


More information about the cfe-commits mailing list