From: Richard Zhao Date: Tue, 24 Apr 2012 07:24:43 +0000 (+0800) Subject: ASoC: core: check of_property_count_strings failure X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=c34ce320d9fe328e3272def20b152f39ccfa045e;p=openwrt%2Fstaging%2Fblogic.git ASoC: core: check of_property_count_strings failure Signed-off-by: Richard Zhao Signed-off-by: Mark Brown Cc: stable@vger.kernel.org --- diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index 3a4e93e52b6d..b390f00b4e99 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@ -3631,10 +3631,10 @@ int snd_soc_of_parse_audio_routing(struct snd_soc_card *card, int i, ret; num_routes = of_property_count_strings(np, propname); - if (num_routes & 1) { + if (num_routes < 0 || num_routes & 1) { dev_err(card->dev, - "Property '%s's length is not even\n", - propname); + "Property '%s' does not exist or its length is not even\n", + propname); return -EINVAL; } num_routes /= 2;