X-Git-Url: http://www.pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=fs%2Fnfsd%2Fnfsctl.c;h=af16849d243ac543c1192b04c49362b8c3eac958;hb=a63856252d2112e7c452696037a86ceb12f47f80;hp=a9b8c75bf0bff899c92de5ce49fe82907aea00d1;hpb=04826f43d4f0a4d56423eb8abb9f2ec9987df5b5;p=linux-2.6-omap-h63xx.git diff --git a/fs/nfsd/nfsctl.c b/fs/nfsd/nfsctl.c index a9b8c75bf0b..af16849d243 100644 --- a/fs/nfsd/nfsctl.c +++ b/fs/nfsd/nfsctl.c @@ -969,10 +969,12 @@ static ssize_t __write_ports(struct file *file, char *buf, size_t size) char transport[16]; int port; if (sscanf(buf, "%15s %4d", transport, &port) == 2) { + if (port < 1 || port > 65535) + return -EINVAL; err = nfsd_create_serv(); if (!err) { err = svc_create_xprt(nfsd_serv, - transport, port, + transport, PF_INET, port, SVC_SOCK_ANONYMOUS); if (err == -ENOENT) /* Give a reasonable perror msg for @@ -991,7 +993,7 @@ static ssize_t __write_ports(struct file *file, char *buf, size_t size) char transport[16]; int port; if (sscanf(&buf[1], "%15s %4d", transport, &port) == 2) { - if (port == 0) + if (port < 1 || port > 65535) return -EINVAL; if (nfsd_serv) { xprt = svc_find_xprt(nfsd_serv, transport,