aboutsummaryrefslogtreecommitdiffstats
path: root/dtc/tests/truncated_property.c
diff options
context:
space:
mode:
Diffstat (limited to 'dtc/tests/truncated_property.c')
-rw-r--r--dtc/tests/truncated_property.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/dtc/tests/truncated_property.c b/dtc/tests/truncated_property.c
new file mode 100644
index 000000000..d9d52b2f3
--- /dev/null
+++ b/dtc/tests/truncated_property.c
@@ -0,0 +1,36 @@
+// SPDX-License-Identifier: LGPL-2.1-or-later
+/*
+ * libfdt - Flat Device Tree manipulation
+ * Testcase for misbehaviour on a truncated property
+ * Copyright (C) 2006 David Gibson, IBM Corporation.
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdint.h>
+
+#include <libfdt.h>
+
+#include "tests.h"
+#include "testdata.h"
+
+int main(int argc, char *argv[])
+{
+ void *fdt = &truncated_property;
+ const void *prop;
+ int len;
+
+ test_init(argc, argv);
+
+ vg_prepare_blob(fdt, fdt_totalsize(fdt));
+
+ prop = fdt_getprop(fdt, 0, "truncated", &len);
+ if (prop)
+ FAIL("fdt_getprop() succeeded on truncated property");
+ if (len != -FDT_ERR_BADSTRUCTURE)
+ FAIL("fdt_getprop() failed with \"%s\" instead of \"%s\"",
+ fdt_strerror(len), fdt_strerror(-FDT_ERR_BADSTRUCTURE));
+
+ PASS();
+}