diff --git a/ChangeLog b/ChangeLog index f444ea922..bf413de63 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2013-04-29 Vladimir Serbinenko + + * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer + dereference. + Reported by: qwertial. + 2013-04-29 Vladimir Serbinenko * grub-core/kern/mips/arc/init.c: Fix prefix detection. diff --git a/include/grub/list.h b/include/grub/list.h index 6f6dec044..edd20adfd 100644 --- a/include/grub/list.h +++ b/include/grub/list.h @@ -35,7 +35,7 @@ void EXPORT_FUNC(grub_list_push) (grub_list_t *head, grub_list_t item); void EXPORT_FUNC(grub_list_remove) (grub_list_t item); #define FOR_LIST_ELEMENTS(var, list) for ((var) = (list); (var); (var) = (var)->next) -#define FOR_LIST_ELEMENTS_SAFE(var, nxt, list) for ((var) = (list), (nxt) = ((var) ? (var)->next : 0); (var); (var) = (nxt), (nxt) = (var)->next) +#define FOR_LIST_ELEMENTS_SAFE(var, nxt, list) for ((var) = (list), (nxt) = ((var) ? (var)->next : 0); (var); (var) = (nxt), ((nxt) = (var) ? (var)->next : 0)) static inline void * grub_bad_type_cast_real (int line, const char *file)