find_root_device: use lstat - don't follow links
authorDenis Vlasenko <vda.linux@googlemail.com>
Sat, 21 Apr 2007 23:28:03 +0000 (23:28 -0000)
committerDenis Vlasenko <vda.linux@googlemail.com>
Sat, 21 Apr 2007 23:28:03 +0000 (23:28 -0000)
libbb/find_root_device.c

index 7182102..9779f7e 100644 (file)
@@ -41,7 +41,8 @@ static char *find_block_device_in_dir(struct arena *ap)
 
        while ((entry = readdir(dir)) != NULL) {
                safe_strncpy(ap->devpath + len, entry->d_name, rem);
-               if (stat(ap->devpath, &ap->st) != 0)
+               /* lstat: do not follow links */
+               if (lstat(ap->devpath, &ap->st) != 0)
                        continue;
                if (S_ISBLK(ap->st.st_mode) && ap->st.st_rdev == ap->dev) {
                        retpath = xstrdup(ap->devpath);