diff options
author | Eric Van Hensbergen <ericvh@gmail.com> | 2011-07-14 02:12:18 +0200 |
---|---|---|
committer | Eric Van Hensbergen <ericvh@gmail.com> | 2011-07-23 16:32:29 +0200 |
commit | b85f7d92d7bd7e3298159e8b1eed8cb8cbbb0348 (patch) | |
tree | 3abd3117770a4cca95e442d248d4da187ad8aa7d /net/9p | |
parent | Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vir... (diff) | |
download | linux-b85f7d92d7bd7e3298159e8b1eed8cb8cbbb0348.tar.xz linux-b85f7d92d7bd7e3298159e8b1eed8cb8cbbb0348.zip |
net/9p: fix client code to fail more gracefully on protocol error
There was a BUG_ON to protect against a bad id which could be dealt with
more gracefully.
Reported-by: Natalie Orlin <norlin@us.ibm.com>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
Diffstat (limited to 'net/9p')
-rw-r--r-- | net/9p/client.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/9p/client.c b/net/9p/client.c index 9e3b0e640da1..81e667b6bbbd 100644 --- a/net/9p/client.c +++ b/net/9p/client.c @@ -280,7 +280,8 @@ struct p9_req_t *p9_tag_lookup(struct p9_client *c, u16 tag) * buffer to read the data into */ tag++; - BUG_ON(tag >= c->max_tag); + if(tag >= c->max_tag) + return NULL; row = tag / P9_ROW_MAXTAG; col = tag % P9_ROW_MAXTAG; |