* include/grub/list.h (grub_list_remove): Don't crash if element is
removed twice.
This commit is contained in:
parent
ca8c0baf25
commit
87cf97447e
2 changed files with 9 additions and 1 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* include/grub/list.h (grub_list_remove): Don't crash if element is
|
||||||
|
removed twice.
|
||||||
|
|
||||||
2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
|
2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
Rename ofconsole to console.
|
Rename ofconsole to console.
|
||||||
|
|
|
@ -44,9 +44,12 @@ grub_list_push (grub_list_t *head, grub_list_t item)
|
||||||
static inline void
|
static inline void
|
||||||
grub_list_remove (grub_list_t item)
|
grub_list_remove (grub_list_t item)
|
||||||
{
|
{
|
||||||
|
if (item->prev)
|
||||||
*item->prev = item->next;
|
*item->prev = item->next;
|
||||||
if (item->next)
|
if (item->next)
|
||||||
item->next->prev = item->prev;
|
item->next->prev = item->prev;
|
||||||
|
item->next = 0;
|
||||||
|
item->prev = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define FOR_LIST_ELEMENTS(var, list) for ((var) = (list); (var); (var) = (var)->next)
|
#define FOR_LIST_ELEMENTS(var, list) for ((var) = (list); (var); (var) = (var)->next)
|
||||||
|
|
Loading…
Add table
Reference in a new issue