From e9e46c9a0c2b67a3e9abb555f5f0e0c552892e20 Mon Sep 17 00:00:00 2001 From: Vladimir 'phcoder' Serbinenko Date: Mon, 29 Apr 2013 12:00:31 +0200 Subject: [PATCH] * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer dereference. Reported by: qwertial. --- ChangeLog | 6 ++++++ include/grub/list.h | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) 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)