From 70cb8de9ba4fcf91ab4270e1c1b2ce7c5ea04b6d Mon Sep 17 00:00:00 2001 From: Alfred Perlstein Date: Tue, 27 Jun 2000 21:37:17 +0000 Subject: [PATCH] if there are leading zeros fail the lookup Pointed out by: Alexander Viro --- sys/fs/fdescfs/fdesc_vnops.c | 5 +++++ sys/miscfs/fdesc/fdesc_vnops.c | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/sys/fs/fdescfs/fdesc_vnops.c b/sys/fs/fdescfs/fdesc_vnops.c index 33d2f499f4e..09c5c37d012 100644 --- a/sys/fs/fdescfs/fdesc_vnops.c +++ b/sys/fs/fdescfs/fdesc_vnops.c @@ -198,6 +198,11 @@ fdesc_lookup(ap) } fd = 0; + /* the only time a leading 0 is acceptable is if it's "0" */ + if (*pname == '0' && nlen != 1) { + error = ENOENT; + goto bad; + } while (nlen--) { if (*pname < '0' || *pname > '9') { error = ENOENT; diff --git a/sys/miscfs/fdesc/fdesc_vnops.c b/sys/miscfs/fdesc/fdesc_vnops.c index 33d2f499f4e..09c5c37d012 100644 --- a/sys/miscfs/fdesc/fdesc_vnops.c +++ b/sys/miscfs/fdesc/fdesc_vnops.c @@ -198,6 +198,11 @@ fdesc_lookup(ap) } fd = 0; + /* the only time a leading 0 is acceptable is if it's "0" */ + if (*pname == '0' && nlen != 1) { + error = ENOENT; + goto bad; + } while (nlen--) { if (*pname < '0' || *pname > '9') { error = ENOENT;