projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
cbfa518
)
ASoC: Fix soc-cache buffer overflow bug
author
Dimitris Papastamos
<
[email protected]
>
Tue, 21 Sep 2010 14:03:26 +0000
(15:03 +0100)
committer
Mark Brown
<
[email protected]
>
Wed, 22 Sep 2010 11:01:05 +0000
(12:01 +0100)
Make sure we stay within the cache boundaries when updating the
register cache.
Signed-off-by: Dimitris Papastamos <
[email protected]
>
Acked-by: Liam Girdwood <
[email protected]
>
Signed-off-by: Mark Brown <
[email protected]
>
sound/soc/soc-cache.c
patch
|
blob
|
history
diff --git
a/sound/soc/soc-cache.c
b/sound/soc/soc-cache.c
index adbc68ce90508221cc919121fc19e062fd309f44..15d2779074ef72c9b509bfa13511289c09159aae 100644
(file)
--- a/
sound/soc/soc-cache.c
+++ b/
sound/soc/soc-cache.c
@@
-203,8
+203,9
@@
static int snd_soc_8_16_write(struct snd_soc_codec *codec, unsigned int reg,
data[1] = (value >> 8) & 0xff;
data[2] = value & 0xff;
- if (!snd_soc_codec_volatile_register(codec, reg))
- reg_cache[reg] = value;
+ if (!snd_soc_codec_volatile_register(codec, reg)
+ && reg < codec->driver->reg_cache_size)
+ reg_cache[reg] = value;
if (codec->cache_only) {
codec->cache_sync = 1;