From b29a641219f647d389ae782f3d7a0cd8b1051bed Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 12 Sep 2011 15:22:51 +0200 Subject: [PATCH] libblkid: remove unnecessary position check from list_for_each_safe loops The position pointer is dereferenced before the check in the for() in the list_for_each_safe macro. Note that struct list_head should not contain NULL pointers. See INIT_LIST_HEAD() macro. Signed-off-by: Karel Zak --- libblkid/src/cache.c | 2 -- libblkid/src/devname.c | 5 +---- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/libblkid/src/cache.c b/libblkid/src/cache.c index feec6ddfce..6ef22a103e 100644 --- a/libblkid/src/cache.c +++ b/libblkid/src/cache.c @@ -217,8 +217,6 @@ void blkid_gc_cache(blkid_cache cache) list_for_each_safe(p, pnext, &cache->bic_devs) { blkid_dev dev = list_entry(p, struct blkid_struct_dev, bid_devs); - if (!p) - break; if (stat(dev->bid_name, &st) < 0) { DBG(DEBUG_CACHE, printf("freeing %s\n", dev->bid_name)); diff --git a/libblkid/src/devname.c b/libblkid/src/devname.c index e1fc2c8499..f824a1795c 100644 --- a/libblkid/src/devname.c +++ b/libblkid/src/devname.c @@ -91,10 +91,7 @@ blkid_dev blkid_get_dev(blkid_cache cache, const char *devname, int flags) * it. */ list_for_each_safe(p, pnext, &cache->bic_devs) { - blkid_dev dev2; - if (!p) - break; - dev2 = list_entry(p, struct blkid_struct_dev, bid_devs); + blkid_dev dev2 = list_entry(p, struct blkid_struct_dev, bid_devs); if (dev2->bid_flags & BLKID_BID_FL_VERIFIED) continue; if (!dev->bid_type || !dev2->bid_type || -- 2.47.3