ANDROID: Merge upstream ed310803ea89 (v1.6.1)
Upgrade to the latest master from
git://git.kernel.org/pub/scm/utils/dtc/dtc.git.
at commit ed310803ea893ed0a8bba9c4ff0d9eb0063a8bef.
Bug: 221191119
Bug: 222320399
Bug: 230794395
Bug: 234413190
Change-Id: I6cc623e217641d7db3d4f2c4873cda472da08ef4
(cherry picked from commit 9c26cc838f0be866ac96d6c85d70a08fb7110bc5)
Merged-In: I6cc623e217641d7db3d4f2c4873cda472da08ef4
diff --git a/tests/testutils.c b/tests/testutils.c
index 5e494c5..10129c0 100644
--- a/tests/testutils.c
+++ b/tests/testutils.c
@@ -88,7 +88,7 @@
}
void check_property(void *fdt, int nodeoffset, const char *name,
- int len, const void *val)
+ unsigned int len, const void *val)
{
const struct fdt_property *prop;
int retlen, namelen;
@@ -101,6 +101,9 @@
if (! prop)
FAIL("Error retrieving \"%s\" pointer: %s", name,
fdt_strerror(retlen));
+ if (retlen < 0)
+ FAIL("negative name length (%d) for returned property\n",
+ retlen);
tag = fdt32_to_cpu(prop->tag);
nameoff = fdt32_to_cpu(prop->nameoff);
@@ -112,13 +115,16 @@
propname = fdt_get_string(fdt, nameoff, &namelen);
if (!propname)
FAIL("Couldn't get property name: %s", fdt_strerror(namelen));
- if (namelen != strlen(propname))
+ if (namelen < 0)
+ FAIL("negative name length (%d) for returned string\n",
+ namelen);
+ if ((unsigned)namelen != strlen(propname))
FAIL("Incorrect prop name length: %d instead of %zd",
namelen, strlen(propname));
if (!streq(propname, name))
FAIL("Property name mismatch \"%s\" instead of \"%s\"",
propname, name);
- if (proplen != retlen)
+ if (proplen != (unsigned)retlen)
FAIL("Length retrieved for \"%s\" by fdt_get_property()"
" differs from stored length (%d != %d)",
name, retlen, proplen);