diff options
author | Dan Carpenter <dan.carpenter@oracle.com> | 2015-10-19 06:16:49 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-10-21 10:48:26 -0400 |
commit | 50010c20597d14667eff0fdb628309986f195230 (patch) | |
tree | ddf7817ca710a0e7f6222d3c2764d4aa66ba2b94 /net/irda | |
parent | ca88ea1247dfee094e2467a3578eaec9bdf0833a (diff) |
irda: precedence bug in irlmp_seq_hb_idx()
This is decrementing the pointer, instead of the value stored in the
pointer. KASan detects it as an out of bounds reference.
Reported-by: "Berry Cheng 程君(成淼)" <chengmiao.cj@alibaba-inc.com>
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/irda')
-rw-r--r-- | net/irda/irlmp.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/irda/irlmp.c b/net/irda/irlmp.c index a26c401ef4a4..43964594aa12 100644 --- a/net/irda/irlmp.c +++ b/net/irda/irlmp.c | |||
@@ -1839,7 +1839,7 @@ static void *irlmp_seq_hb_idx(struct irlmp_iter_state *iter, loff_t *off) | |||
1839 | for (element = hashbin_get_first(iter->hashbin); | 1839 | for (element = hashbin_get_first(iter->hashbin); |
1840 | element != NULL; | 1840 | element != NULL; |
1841 | element = hashbin_get_next(iter->hashbin)) { | 1841 | element = hashbin_get_next(iter->hashbin)) { |
1842 | if (!off || *off-- == 0) { | 1842 | if (!off || (*off)-- == 0) { |
1843 | /* NB: hashbin left locked */ | 1843 | /* NB: hashbin left locked */ |
1844 | return element; | 1844 | return element; |
1845 | } | 1845 | } |