<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Jan 21, 2014 at 1:15 AM, Yury Gribov <span dir="ltr"><<a href="mailto:y.gribov@samsung.com" target="_blank">y.gribov@samsung.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Are we talking about signed or unsigned overflows? Both may be useful but second isn't UB.</blockquote><div><br></div>
<div>The subject is not overflow, it's truncating conversion. The semantics here are well-defined -- for a conversion to unsigned, they're defined in the language standard, and for a conversion to signed, they're implementation-defined. In the latter case, essentially all modern implementations define the conversion as a 2s complement truncation.</div>
<div><br></div><div>So... neither of these belong in -fsanitize=undefined. They might make sense in -fsanitize=integer, though.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">
> The question is whether it is worth implementing.<br>
<br></div>
There are some CWEs for it:<br>
* CWE-197: Numeric Truncation Error (<a href="http://cwe.mitre.org/data/definitions/197.html" target="_blank">http://cwe.mitre.org/data/<u></u>definitions/197.html</a>)<br>
* CWE-192: Integer Coercion Error (<a href="http://cwe.mitre.org/data/definitions/192.html" target="_blank">http://cwe.mitre.org/data/<u></u>definitions/192.html</a>)<span class="HOEnZb"><font color="#888888"><br>
<br>
-Y<br>
</font></span></blockquote></div><br></div></div>