<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">Send it my way.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">If it’s a PDF I’ll mark it up in color on my iPad.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><b>From:</b> Robert Seacord [mailto:rcseacord@gmail.com] <br>
<b>Sent:</b> Thursday, January 17, 2019 2:03 PM<br>
<b>To:</b> Wilson, Charles <Charles.Wilson@draeger.com><br>
<b>Cc:</b> C Safety and Security Study Group Discussion <c-safe-secure-studygroup@lists.trustable.io>; Clive Pygott <Clive.Pygott@ldra.com><br>
<b>Subject:</b> Re: [C-safe-secure-studygroup] Bounds-checked interfaces<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Support for removing / repairing Annex K is equally split in the C Committee as well.  I'm tasked with championing the repair position, which is the paper I'm working on.  If you are interested in reviewing, let me know.  Optimistically,
 I'll have an early draft done today.<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">rCs<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On Thu, Jan 17, 2019 at 1:59 PM Wilson, Charles <<a href="mailto:Charles.Wilson@draeger.com">Charles.Wilson@draeger.com</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Though that might be the case.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I’ve done a bit of scrounging over the years to try to make the case for Annex K, but have never found any positive feedback. It is either dismissed as a Microsoft-ism, which is
 unfortunate, or ignored because of the lack of ease to implement. The only neutral evaluation I’ve seen is Martin’s.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">To be honest, it’s easier to justify implementing the checks manually based on Coverity (or other static analysis tool) detection.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">In C++, I just tell people to stop using the C standard library.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b>From:</b> Robert Seacord [mailto:<a href="mailto:rcseacord@gmail.com" target="_blank">rcseacord@gmail.com</a>]
<br>
<b>Sent:</b> Thursday, January 17, 2019 1:54 PM<br>
<b>To:</b> Wilson, Charles <<a href="mailto:Charles.Wilson@draeger.com" target="_blank">Charles.Wilson@draeger.com</a>><br>
<b>Cc:</b> C Safety and Security Study Group Discussion <<a href="mailto:c-safe-secure-studygroup@lists.trustable.io" target="_blank">c-safe-secure-studygroup@lists.trustable.io</a>>; Clive Pygott <<a href="mailto:Clive.Pygott@ldra.com" target="_blank">Clive.Pygott@ldra.com</a>><br>
<b>Subject:</b> Re: [C-safe-secure-studygroup] Bounds-checked interfaces<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Yeah, I think he may have wrote that.  ;^)<o:p></o:p></p>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">On Thu, Jan 17, 2019 at 12:52 PM Wilson, Charles <<a href="mailto:Charles.Wilson@draeger.com" target="_blank">Charles.Wilson@draeger.com</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Have you seen:<br>
<br>
Updated Field Experience With Annex K - Bounds Checking Interfaces (2015)<br>
<a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1969.htm" target="_blank">http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1969.htm</a><br>
<br>
I've generally experienced a great deal of pushback as uptake of Annex K requires considerable code change.<br>
<br>
-----Original Message-----<br>
From: C-safe-secure-studygroup [mailto:<a href="mailto:c-safe-secure-studygroup-bounces@lists.trustable.io" target="_blank">c-safe-secure-studygroup-bounces@lists.trustable.io</a>] On Behalf Of Martin Sebor<br>
Sent: Thursday, January 17, 2019 10:59 AM<br>
To: C Safety and Security Study Group Discussion <<a href="mailto:c-safe-secure-studygroup@lists.trustable.io" target="_blank">c-safe-secure-studygroup@lists.trustable.io</a>>; Robert Seacord <<a href="mailto:rcseacord@gmail.com" target="_blank">rcseacord@gmail.com</a>>;
 Clive Pygott <<a href="mailto:Clive.Pygott@ldra.com" target="_blank">Clive.Pygott@ldra.com</a>><br>
Subject: Re: [C-safe-secure-studygroup] Bounds-checked interfaces<br>
<br>
What guidance do safety expertes give to programmers of safe systems for the adoption of the APIs (Annex K)?<br>
<br>
I'm especially wondering what the recommended practice is for handling constraint violations (abort vs return to caller) and exercising handler code.<br>
<br>
Martin<br>
<br>
On 1/16/19 11:46 AM, Robert Seacord wrote:<br>
> I'm working on a paper on bounds-checked interfaces that I'm going to<br>
> solicit reviewers for soon.<br>
> Meanwhile, I've heard Clive defend the following principle:<br>
><br>
> This is a widely-held expert view that changes to “working code” only<br>
> increase the opportunities to inject new defects.  This view has even<br>
> been expressed by the safety-critical community.<br>
><br>
> I'm wondering if there is an authoritative source I could reference on<br>
> this claim?<br>
><br>
> I'm tempted just to write "Clive says...."  ;^)<br>
><br>
> Thanks,<br>
> rCs<br>
><br>
> _______________________________________________<br>
> C-safe-secure-studygroup mailing list<br>
> <a href="mailto:C-safe-secure-studygroup@lists.trustable.io" target="_blank">C-safe-secure-studygroup@lists.trustable.io</a><br>
> <a href="https://lists.trustable.io/cgi-bin/mailman/listinfo/c-safe-secure-stud" target="_blank">
https://lists.trustable.io/cgi-bin/mailman/listinfo/c-safe-secure-stud</a><br>
> ygroup<br>
><br>
<br>
<br>
_______________________________________________<br>
C-safe-secure-studygroup mailing list<br>
<a href="mailto:C-safe-secure-studygroup@lists.trustable.io" target="_blank">C-safe-secure-studygroup@lists.trustable.io</a><br>
<a href="https://lists.trustable.io/cgi-bin/mailman/listinfo/c-safe-secure-studygroup" target="_blank">https://lists.trustable.io/cgi-bin/mailman/listinfo/c-safe-secure-studygroup</a><br>
---<br>
This communication contains confidential information. If you are not the intended recipient please return this email to the sender and delete it from your records.<br>
<br>
Diese Nachricht enthaelt vertrauliche Informationen. Sollten Sie nicht der beabsichtigte Empfaenger dieser E-mail sein, senden Sie bitte diese an den Absender zurueck und loeschen Sie die E-mail aus Ihrem System.<o:p></o:p></p>
</blockquote>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</body>
</html>