UBI: eliminate possible undefined behaviour
The assignment to pos when rb is finally NULL is undefined behaviour. Upon seeing that assignment, GCC may assume that rb is not NULL, and the loop condition ``rb'' may be optimised away. Signed-off-by: Phil Carmody <ext-phil.2.carmody@nokia.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
This commit is contained in:
Родитель
4a406856ea
Коммит
758d8e4634
|
@ -579,7 +579,8 @@ void ubi_do_get_volume_info(struct ubi_device *ubi, struct ubi_volume *vol,
|
|||
for (rb = rb_first(root), \
|
||||
pos = (rb ? container_of(rb, typeof(*pos), member) : NULL); \
|
||||
rb; \
|
||||
rb = rb_next(rb), pos = container_of(rb, typeof(*pos), member))
|
||||
rb = rb_next(rb), \
|
||||
pos = (rb ? container_of(rb, typeof(*pos), member) : NULL))
|
||||
|
||||
/**
|
||||
* ubi_zalloc_vid_hdr - allocate a volume identifier header object.
|
||||
|
|
Загрузка…
Ссылка в новой задаче