On 09.03.23 03:33, Kinsey Moore wrote:
Casting the node returned by rtems_chain_head is incorrect. That node is
owned by the control structure and use of it post-cast could cause
memory corruption.
---
  c-user/chains.rst | 6 +++++-
  1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/c-user/chains.rst b/c-user/chains.rst
index f518ef4..2044966 100644
--- a/c-user/chains.rst
+++ b/c-user/chains.rst
@@ -193,10 +193,14 @@ placed on another chain:
          rtems_chain_initialize_empty (out);
node = rtems_chain_head (chain);
+
+        /* The node returned by rtems_chain_head() is owned by the chain */
+        node = rtems_chain_next(node);

You can simply use rtems_chain_first() instead of this head/next combination.

--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.hu...@embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to