OSDN Git Service

clk: mmp: Off by one in mmp_clk_add()
authorDan Carpenter <dan.carpenter@oracle.com>
Mon, 3 Dec 2018 14:51:43 +0000 (17:51 +0300)
committerStephen Boyd <sboyd@kernel.org>
Mon, 3 Dec 2018 17:54:48 +0000 (09:54 -0800)
The > comparison should be >= or we write one element beyond the end of
the unit->clk_table[] array.

(The unit->clk_table[] array is allocated in the mmp_clk_init() function
and it has unit->nr_clks elements).

Fixes: 4661fda10f8b ("clk: mmp: add basic support functions for DT support")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/mmp/clk.c

index ad8d483..ca7d37e 100644 (file)
@@ -183,7 +183,7 @@ void mmp_clk_add(struct mmp_clk_unit *unit, unsigned int id,
                pr_err("CLK %d has invalid pointer %p\n", id, clk);
                return;
        }
-       if (id > unit->nr_clks) {
+       if (id >= unit->nr_clks) {
                pr_err("CLK %d is invalid\n", id);
                return;
        }