<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Aug 16, 2022, 6:07 PM Chris Johns <<a href="mailto:chrisj@rtems.org">chrisj@rtems.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 17/8/2022 6:11 am, Ryan Long wrote:<br>
> Fixed four warnings disabled were for "-Wuse-after-free" and one for a<br>
> "-Wfree-nonheap-object."<br>
<br>
Is this a gcc warning bug? If p1 was used to access the memory the warning is<br>
right but we are only referencing the address and not the data. It is no<br>
different to:<br>
<br>
  void* p = 0x111111111;<br>
  printf("P is %p\n", p);<br>
<br>
This is fine and has to be or we could never access any hardware.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">That example is different I think. Semantically after a call to free, the address is no longer valid for any use. Ensuring you don't call another member of the malloc family is a legitimate way to avoid double frees.</div><div dir="auto"><br></div><div dir="auto">If we have an issue with a specific use case pattern that GCC is tripping, then we discuss it with them. I'm sure all of these were well thought out. </div><div dir="auto"><br></div><div dir="auto">Besides this code is pushing deliberate error conditions so we should not be surprised that the compiler is detecting issues with the code. </div><div dir="auto"><br></div><div dir="auto">--joel</div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Chris<br>
_______________________________________________<br>
devel mailing list<br>
<a href="mailto:devel@rtems.org" target="_blank" rel="noreferrer">devel@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a><br>
</blockquote></div></div></div>