<p dir="ltr"><br>
On 10 May 2014 12:32, "Nico Weber" <<a href="mailto:nicolasweber@gmx.de">nicolasweber@gmx.de</a>> wrote:<br>
><br>
> Author: nico<br>
> Date: Sat May 10 14:23:28 2014<br>
> New Revision: 208481<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=208481&view=rev">http://llvm.org/viewvc/llvm-project?rev=208481&view=rev</a><br>
> Log:<br>
> Don't leak default arg tokens on invalid destructors or conversion functions.<br>
><br>
> Fixes PR19689, and possibly the last leak in clang (PR19521). PR19689 contains<br>
> a few suggestions on how to make the default argument token code a bit more<br>
> solid, these changes can possibly be landed in follow-ups.<br>
><br>
> Modified:<br>
>     cfe/trunk/include/clang/Sema/DeclSpec.h<br>
><br>
> Modified: cfe/trunk/include/clang/Sema/DeclSpec.h<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/DeclSpec.h?rev=208481&r1=208480&r2=208481&view=diff">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/DeclSpec.h?rev=208481&r1=208480&r2=208481&view=diff</a><br>

> ==============================================================================<br>
> --- cfe/trunk/include/clang/Sema/DeclSpec.h (original)<br>
> +++ cfe/trunk/include/clang/Sema/DeclSpec.h Sat May 10 14:23:28 2014<br>
> @@ -1231,6 +1231,10 @@ struct DeclaratorChunk {<br>
>      ///<br>
>      /// This is used in various places for error recovery.<br>
>      void freeParams() {<br>
> +      if (Params) {<br>
> +        delete Params->DefaultArgTokens;<br>
> +        Params->DefaultArgTokens = nullptr;</p>
<p dir="ltr">Doesn't Params point to an array? Looks like this will still leak the second and subsequent default arguments.</p>
<p dir="ltr">> +      }<br>
>        if (DeleteParams) {<br>
>          delete[] Params;<br>
>          DeleteParams = false;<br>
><br>
><br>
> _______________________________________________<br>
> cfe-commits mailing list<br>
> <a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
</p>