This is an automated email from the ASF dual-hosted git repository.

ccollins pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-core.git


The following commit(s) were added to refs/heads/master by this push:
     new 078ca18  Invalid g_os_mempool_list.stqh_last assignment
078ca18 is described below

commit 078ca18cecc947dbaffae2a915a8d8dcc7ea831a
Author: cedric84 <44369985+cedri...@users.noreply.github.com>
AuthorDate: Wed Oct 24 15:25:25 2018 +0200

    Invalid g_os_mempool_list.stqh_last assignment
    
    Hi,
    I think that there is an issue with the assignment of the 
"g_os_mempool_list.stqh_last" member into the "os_mempool_unregister" function.
    According to me, the pointed contents is modified instead of the pointer 
itself (like it is done with the "STAILQ_REMOVE" macro).
    What do you think ?
---
 kernel/os/src/os_mempool.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/os/src/os_mempool.c b/kernel/os/src/os_mempool.c
index 14aaa70..26172d3 100644
--- a/kernel/os/src/os_mempool.c
+++ b/kernel/os/src/os_mempool.c
@@ -230,7 +230,7 @@ os_mempool_unregister(struct os_mempool *mp)
     } else {
         next = STAILQ_NEXT(cur, mp_list);
         if (next == NULL) {
-            *g_os_mempool_list.stqh_last = next;
+            g_os_mempool_list.stqh_last = &STAILQ_NEXT(prev, mp_list);
         }
 
         STAILQ_NEXT(prev, mp_list) = next;

Reply via email to