aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/extres
diff options
context:
space:
mode:
authorMichal Meloun <mmel@FreeBSD.org>2020-07-12 07:42:21 +0000
committerMichal Meloun <mmel@FreeBSD.org>2020-07-12 07:42:21 +0000
commita9be5d7515f96cfce750984e21458e11e9d755a7 (patch)
treee987625f131036d912d2f4fb3665a3d96082f264 /sys/dev/extres
parent6e9862526a4c20db0505fb02aa1b9e7ea019ad2d (diff)
downloadsrc-a9be5d7515f96cfce750984e21458e11e9d755a7.tar.gz
src-a9be5d7515f96cfce750984e21458e11e9d755a7.zip
Assigned clocks: fix off-by-one bug, don't leak allocated memory.
MFC after: 1 week
Notes
Notes: svn path=/head/; revision=363122
Diffstat (limited to 'sys/dev/extres')
-rw-r--r--sys/dev/extres/clk/clk.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/extres/clk/clk.c b/sys/dev/extres/clk/clk.c
index a6c8cdcd9863..acb4a2cfecb0 100644
--- a/sys/dev/extres/clk/clk.c
+++ b/sys/dev/extres/clk/clk.c
@@ -1420,15 +1420,17 @@ clk_set_assigned(device_t dev, phandle_t node)
}
/* First set it's parent if needed */
- if (i <= nparents)
+ if (i < nparents)
clk_set_assigned_parent(dev, clk, i);
/* Then set a new frequency */
- if (i <= nrates && rates[i] != 0)
+ if (i < nrates && rates[i] != 0)
clk_set_assigned_rates(dev, clk, rates[i]);
clk_release(clk);
}
+ if (rates != NULL)
+ OF_prop_free(rates);
return (0);
}