From: Lennart Poettering Date: Wed, 17 Oct 2018 19:05:33 +0000 (+0200) Subject: list: fix double avaluation in LIST_APPEND() X-Git-Tag: v240~527^2~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3088305166df1532778e88a96a293f88315f9f25;p=thirdparty%2Fsystemd.git list: fix double avaluation in LIST_APPEND() --- diff --git a/src/basic/list.h b/src/basic/list.h index 643e0bea888..040680c30ad 100644 --- a/src/basic/list.h +++ b/src/basic/list.h @@ -38,9 +38,9 @@ /* Append an item to the list */ #define LIST_APPEND(name,head,item) \ do { \ - typeof(*(head)) *_tail; \ - LIST_FIND_TAIL(name,head,_tail); \ - LIST_INSERT_AFTER(name,head,_tail,item); \ + typeof(*(head)) **_hhead = &(head), *_tail; \ + LIST_FIND_TAIL(name, *_hhead, _tail); \ + LIST_INSERT_AFTER(name, *_hhead, _tail, item); \ } while (false) /* Remove an item from the list */