<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body><div><div style="font-family: Calibri,sans-serif; font-size: 11pt;">Shoot - I haven't responded to this. I did some debugging the other day and found that if I manually pass the flag to enable the unix.Malloc checker (that's a capital "M", as I discovered the hard way), Clang detects this.<br><br>I was going to suggest something like enabling it by default (obvious), and *maybe* renaming it to something like core.Malloc, because it's not unix-specific.<br><br>The one benefit here of parsing SAL is a more generic mechanism, but that's a different issue.<br><br>sent from my (stupid) windows phone</div></div><div dir="ltr"><hr><span style="font-family: Calibri,sans-serif; font-size: 11pt; font-weight: bold;">From: </span><span style="font-family: Calibri,sans-serif; font-size: 11pt;"><a href="mailto:rnk@google.com">Reid Kleckner</a></span><br><span style="font-family: Calibri,sans-serif; font-size: 11pt; font-weight: bold;">Sent: </span><span style="font-family: Calibri,sans-serif; font-size: 11pt;">‎1/‎12/‎2016 5:18 PM</span><br><span style="font-family: Calibri,sans-serif; font-size: 11pt; font-weight: bold;">To: </span><span style="font-family: Calibri,sans-serif; font-size: 11pt;"><a href="mailto:test35965@gmail.com"><Alexander G. Riccio></a>; <a href="mailto:jordan_rose@apple.com">Jordan Rose</a></span><br><span style="font-family: Calibri,sans-serif; font-size: 11pt; font-weight: bold;">Cc: </span><span style="font-family: Calibri,sans-serif; font-size: 11pt;"><a href="mailto:cfe-dev@lists.llvm.org">cfe-dev</a></span><br><span style="font-family: Calibri,sans-serif; font-size: 11pt; font-weight: bold;">Subject: </span><span style="font-family: Calibri,sans-serif; font-size: 11pt;">Re: [cfe-dev] Clang on Windows fails to detect trivial double free instatic analysis</span><br><br></div><div dir="ltr">Jordan, how do we enable this checker on Windows?<div><br></div><div>We shouldn't need to be able to parse SAL to do this analysis.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Jan 3, 2016 at 10:31 PM, <Alexander G. Riccio> via cfe-dev <span dir="ltr"><<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; padding-left: 1ex; border-left-color: rgb(204, 204, 204); border-left-width: 1px; border-left-style: solid;"><div dir="ltr">Is it because <a href="http://clang-analyzer.llvm.org/available_checks.html#unix_checkers" target="_blank">the checker is <i><b><u>unix</u></b></i>.malloc</a>? If so, that's actually quite terrible... why only check it on unix??</div><div class="gmail_extra"><span><br clear="all"><div><div><div dir="ltr"><div><div dir="ltr"><span style="font-size: 12.8px;">Sincerely,</span><br style="font-size: 12.8px;"><span style="font-size: 12.8px;">Alexander Riccio</span><br style="font-size: 12.8px;"><span style="font-size: 12.8px;">--</span><br style="font-size: 12.8px;"><span style="font-size: 12.8px;">"Change the world or go home."</span><div style="font-size: 12.8px;"><a href="http://about.me/ariccio" target="_blank">about.me/ariccio</a></div><div style="font-size: 12.8px;"><a href="http://about.me/ariccio" target="_blank"><br></a></div><div style="font-size: 12.8px;">If left to my own devices, I will build more.</div><div style="font-size: 12.8px;">⁂</div></div></div></div></div></div>
<br></span><div><div class="h5"><div class="gmail_quote">On Sat, Jan 2, 2016 at 3:57 PM, <Alexander G. Riccio> <span dir="ltr"><<a href="mailto:test35965@gmail.com" target="_blank">test35965@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; padding-left: 1ex; border-left-color: rgb(204, 204, 204); border-left-width: 1px; border-left-style: solid;"><div dir="ltr">When I build the attached C program in windows, using Clang built from a very recent tree version (trunk 256686), Clang fails to detect the trivial double free, as evidenced in the resulting plist file (attached).<div><br></div><div>What's going on here? I have a gut feeling that it has something to do with Clang's ignorance of SAL, which allows MSVC to detect the condition generically:</div><div><br></div><div><pre style="background: rgb(30, 30, 30); color: gainsboro; font-family: Consolas;"><span style="color: rgb(86, 156, 214);">void</span> <span style="color: rgb(86, 156, 214);">__cdecl</span> <span style="color: rgb(200, 200, 200);">free</span><span style="color: rgb(180, 180, 180);">(</span>
    <span style="color: rgb(189, 99, 197);">_Pre_maybenull_</span> <span style="color: rgb(189, 99, 197);">_Post_invalid_</span> <span style="color: rgb(86, 156, 214);">void</span><span style="color: rgb(180, 180, 180);">*</span> _Block
    <span style="color: rgb(180, 180, 180);">);</span>
</pre></div><div>(from C:/Program Files (x86)/Windows Kits/10/Include/10.0.10240.0/ucrt/corecrt_malloc.h)</div><div><br></div><div>I'm also attaching the verbose compilation output.</div><div><div><div><div dir="ltr"><div><div dir="ltr"><span style="font-size: 12.8px;"><br></span></div><div dir="ltr"><span style="font-size: 12.8px;">Sincerely,</span><br style="font-size: 12.8px;"><span style="font-size: 12.8px;">Alexander Riccio</span><br style="font-size: 12.8px;"><span style="font-size: 12.8px;">--</span><br style="font-size: 12.8px;"><span style="font-size: 12.8px;">"Change the world or go home."</span><div style="font-size: 12.8px;"><a href="http://about.me/ariccio" target="_blank">about.me/ariccio</a></div><div style="font-size: 12.8px;"><a href="http://about.me/ariccio" target="_blank"><br></a></div><div style="font-size: 12.8px;">If left to my own devices, I will build more.</div><div style="font-size: 12.8px;">⁂</div></div></div></div></div></div>
</div></div>
</blockquote></div><br></div></div></div>
<br>_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" target="_blank" rel="noreferrer">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
<br></blockquote></div><br></div>
</body></html>