From: Kay Sievers Date: Thu, 20 Sep 2007 17:38:58 +0000 (+0200) Subject: prevent wrong symlink creation if database disagress with current rules X-Git-Tag: 174~1817 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=b2d1ae727e78ac3e22caa11798360d87775095ff;ds=sidebyside prevent wrong symlink creation if database disagress with current rules --- diff --git a/udev_node.c b/udev_node.c index 556a442a3..c620e4aa0 100644 --- a/udev_node.c +++ b/udev_node.c @@ -218,14 +218,16 @@ static int update_link(struct udevice *udev, const char *name) if (strcmp(udev->dev->devpath, device->name) == 0) { info("compare (our own) priority of '%s' %i >= %i", udev->dev->devpath, udev->link_priority, priority); - if (target[0] == '\0' || udev->link_priority >= priority) { + if (strcmp(udev->name, name) == 0) { + info("'%s' is our device node, database inconsistent, skip link update", udev->name); + } else if (target[0] == '\0' || udev->link_priority >= priority) { priority = udev->link_priority; strlcpy(target, udev->name, sizeof(target)); } continue; } - /* or something else, then read priority from database */ + /* another device, read priority from database */ udev_db = udev_device_init(NULL); if (udev_db == NULL) continue;