public inbox for kernel-janitors@vger.kernel.org
 help / color / mirror / Atom feed
* [patch] ncpfs: add a sanity check in ncp_is_nfs_extras()
@ 2013-09-28  9:39 Dan Carpenter
  0 siblings, 0 replies; only message in thread
From: Dan Carpenter @ 2013-09-28  9:39 UTC (permalink / raw)
  To: Petr Vandrovec; +Cc: linux-kernel, kernel-janitors

The "volnum" can come from the server and my static checker complains
that we can't trust it.  In theory, it could lead to an info leak but
in real life, it is unlikely.

One way this comes from the server is ncp_obtain_info() initializes
target by calling:

	ncp_extract_file_info(ncp_reply_data(server, 0), target);

It then passes target to ncp_obtain_nfs_info() and from there to
ncp_is_nfs_extras().

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>

diff --git a/fs/ncpfs/ncplib_kernel.h b/fs/ncpfs/ncplib_kernel.h
index 32c0658..ae08b9f 100644
--- a/fs/ncpfs/ncplib_kernel.h
+++ b/fs/ncpfs/ncplib_kernel.h
@@ -119,6 +119,7 @@ int ncp_create_new(struct inode *dir, struct dentry *dentry,
 static inline int ncp_is_nfs_extras(struct ncp_server* server, unsigned int volnum) {
 #ifdef CONFIG_NCPFS_NFS_NS
 	return (server->m.flags & NCP_MOUNT_NFS_EXTRAS) &&
+	       (volnum < ARRAY_SIZE(server->name_space)) &&
 	       (server->name_space[volnum] = NW_NS_NFS);
 #else
 	return 0;

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2013-09-28  9:39 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-28  9:39 [patch] ncpfs: add a sanity check in ncp_is_nfs_extras() Dan Carpenter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox