<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><div dir="ltr"><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Mar 9, 2023 at 1:01 AM Sebastian Huber <<a href="mailto:sebastian.huber@embedded-brains.de">sebastian.huber@embedded-brains.de</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"><br>
<br>
On 09.03.23 03:33, Kinsey Moore wrote:<br>
> Casting the node returned by rtems_chain_head is incorrect. That node is<br>
> owned by the control structure and use of it post-cast could cause<br>
> memory corruption.<br>
> ---<br>
>   c-user/chains.rst | 6 +++++-<br>
>   1 file changed, 5 insertions(+), 1 deletion(-)<br>
> <br>
> diff --git a/c-user/chains.rst b/c-user/chains.rst<br>
> index f518ef4..2044966 100644<br>
> --- a/c-user/chains.rst<br>
> +++ b/c-user/chains.rst<br>
> @@ -193,10 +193,14 @@ placed on another chain:<br>
>           rtems_chain_initialize_empty (out);<br>
>   <br>
>           node = rtems_chain_head (chain);<br>
> +<br>
> +        /* The node returned by rtems_chain_head() is owned by the chain */<br>
> +        node = rtems_chain_next(node);<br>
<br>
You can simply use rtems_chain_first() instead of this head/next <br>
combination.<br></blockquote><div>Thanks, I'll make that improvement before committing!</div><div><br></div><div>Kinsey <br></div></div></div>