summaryrefslogtreecommitdiff
path: root/drivers/staging/greybus/manifest.c
diff options
context:
space:
mode:
authorViresh Kumar <viresh.kumar@linaro.org>2014-11-14 17:25:03 +0530
committerGreg Kroah-Hartman <greg@kroah.com>2014-11-14 13:32:27 -0800
commit1dd90df403692f718564638543e73b6d1f734f70 (patch)
treea959be083abed6a9b77bc064f7f0730122c19b46 /drivers/staging/greybus/manifest.c
parent38d61ddf95734c3fe69c31b867cc26932db63235 (diff)
greybus: manifest: make sure manifest_descs list is empty before parsing manifest
Just an extra check to make sure the list isn't corrupted. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
Diffstat (limited to 'drivers/staging/greybus/manifest.c')
-rw-r--r--drivers/staging/greybus/manifest.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/staging/greybus/manifest.c b/drivers/staging/greybus/manifest.c
index d1357a2e64d7..4b85c5353978 100644
--- a/drivers/staging/greybus/manifest.c
+++ b/drivers/staging/greybus/manifest.c
@@ -332,6 +332,10 @@ bool gb_manifest_parse(struct gb_module *gmod, void *data, size_t size)
u32 found = 0;
bool result;
+ /* Manifest descriptor list should be empty here */
+ if (WARN_ON(!list_empty(&manifest_descs)))
+ return false;
+
/* we have to have at _least_ the manifest header */
if (size <= sizeof(manifest->header)) {
pr_err("short manifest (%zu)\n", size);