From 32ecabb15d76bd9db8f7d15dcd39807383a93934 Mon Sep 17 00:00:00 2001 From: Florian Zumbiehl Date: Tue, 1 Sep 2009 12:38:16 +0200 Subject: [PATCH] util_resolve_sys_link(): fix possible buffer overflow --- libudev/libudev-util.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libudev/libudev-util.c b/libudev/libudev-util.c index dcc4a0fd..61cd9634 100644 --- a/libudev/libudev-util.c +++ b/libudev/libudev-util.c @@ -56,13 +56,13 @@ int util_resolve_sys_link(struct udev *udev, char *syspath, size_t size) { char link_target[UTIL_PATH_SIZE]; - int len; + ssize_t len; int i; int back; char *base; len = readlink(syspath, link_target, sizeof(link_target)); - if (len <= 0) + if (len <= 0 || len == (ssize_t)sizeof(link_target)) return -1; link_target[len] = '\0'; dbg(udev, "path link '%s' points to '%s'\n", syspath, link_target); -- 2.39.5