[tip:core/rslib] rslib: decode_rs: Fix length parameter check

From: tip-bot for Ferdinand Blomqvist
Date: Wed Jun 26 2019 - 09:02:50 EST


Commit-ID: a343536f8f482be6932803a023f46d0fa723ae56
Gitweb: https://git.kernel.org/tip/a343536f8f482be6932803a023f46d0fa723ae56
Author: Ferdinand Blomqvist <ferdinand.blomqvist@xxxxxxxxx>
AuthorDate: Thu, 20 Jun 2019 17:10:35 +0300
Committer: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
CommitDate: Wed, 26 Jun 2019 14:55:46 +0200

rslib: decode_rs: Fix length parameter check

The length of the data load must be at least one. Or in other words,
there must be room for at least 1 data and nroots parity symbols after
shortening the RS code.

Signed-off-by: Ferdinand Blomqvist <ferdinand.blomqvist@xxxxxxxxx>
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link: https://lkml.kernel.org/r/20190620141039.9874-4-ferdinand.blomqvist@xxxxxxxxx

---
lib/reed_solomon/decode_rs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/reed_solomon/decode_rs.c b/lib/reed_solomon/decode_rs.c
index 3313bf944ff1..22006eaa41e6 100644
--- a/lib/reed_solomon/decode_rs.c
+++ b/lib/reed_solomon/decode_rs.c
@@ -39,7 +39,7 @@

/* Check length parameter for validity */
pad = nn - nroots - len;
- BUG_ON(pad < 0 || pad >= nn);
+ BUG_ON(pad < 0 || pad >= nn - nroots);

/* Does the caller provide the syndrome ? */
if (s != NULL)