From babcf3cb22af24725030ad795f2e41d024afced3 Mon Sep 17 00:00:00 2001 From: Alan Jenkins Date: Fri, 17 Oct 2008 13:19:54 +0200 Subject: [PATCH] libudev: fix sysnum logic for digit-only device names --- udev/lib/libudev-device.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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; } -- 2.30.2