<div dir="ltr">snprintf() is a safe method and I strongly disagree with the blanket replacement of many safe methods with memcpy().<div><br></div><div>Based on what POSIX profiles snprintf() is included in and the safety and security requirements those profiles are designed to meet, snprintf() is supported by RTOSes that can meet DO-178 Level A.</div><div><br></div><div>If the POSIX method being reviewed is in the FACE Safety Base or Safety Extended profile, then it is OK to use and has been used in flight qualified applications. And that is a general statement meaning running on any of a variety of RTOSes. If the usage is incorrect, let's fix it but blanket changing them is wrong.</div><div><br></div><div>--joel</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Sep 16, 2020 at 12:57 AM Chris Johns <<a href="mailto:chrisj@rtems.org">chrisj@rtems.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 16/9/20 2:36 pm, Sebastian Huber wrote:<br>
> On 16/09/2020 05:59, Chris Johns wrote:<br>
> <br>
>>> +       mount_path = malloc(strlen(buf) + 1 + sizeof(gz_path);<br>
>>> +       if (mount_path != NULL))<br>
>>> +        strlcpy(mount_path, ".gz", sizeof(mount_path));<br>
>>> +      }<br>
>>> +          snprintf(gz_path, sizeof(gz_path), "%s.gz", buf*)<br>
>>> +*/<br>
>> Sorry I am not reviewing these changes any more.<br>
> Sorry Chris, this is my fault. I was not clear enough to communicate that this<br>
> patch set should first go through an internal review before we send it to the<br>
> mailing list.<br>
<br>
All good. I wanted the record to show what happened to the patches.<br>
<br>
Chris<br>
_______________________________________________<br>
devel mailing list<br>
<a href="mailto:devel@rtems.org" target="_blank">devel@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a></blockquote></div>