From: Florian Zumbiehl Date: Tue, 1 Sep 2009 10:38:16 +0000 (+0200) Subject: util_resolve_sys_link(): fix possible buffer overflow X-Git-Tag: 174~796 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=32ecabb15d76bd9db8f7d15dcd39807383a93934;p=systemd util_resolve_sys_link(): fix possible buffer overflow --- 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);