X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=udev%2Flib%2Flibudev-device.c;h=b5d42354e548d31c33f4304f6e35ef6049d362dd;hb=babcf3cb22af24725030ad795f2e41d024afced3;hp=65ba6e30d83ef736389d413578e6877473a5e9bb;hpb=aa8734ffcb8a895fc8d66ff383cbcf8f4b78f562;p=elogind.git diff --git a/udev/lib/libudev-device.c b/udev/lib/libudev-device.c index 65ba6e30d..b5d42354e 100644 --- a/udev/lib/libudev-device.c +++ b/udev/lib/libudev-device.c @@ -936,8 +936,13 @@ int udev_device_set_syspath(struct udev_device *udev_device, const char *syspath } /* trailing number */ - while (isdigit(udev_device->sysname[--len])) + while (len > 0 && isdigit(udev_device->sysname[--len])) udev_device->sysnum = &udev_device->sysname[len]; + + /* sysname is completely numeric */ + if (len == 0) + udev_device->sysnum = NULL; + return 0; }