Fix crash on nul character in string escape sequence
If a dts file contains a string with \ followed by a nul byte - an actual
nul in the input file, not the \\0 escape - then the assert() in
get_escape_char() will trip, crashing dtc.
As far as I can tell, there isn't any valid need for this assert(), so just
remove it.
Reported-by: Anton Blanchard <anton@samba.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
diff --git a/tests/nul-in-escape.dts b/tests/nul-in-escape.dts
new file mode 100644
index 0000000..9bed351
--- /dev/null
+++ b/tests/nul-in-escape.dts
Binary files differ
diff --git a/tests/run_tests.sh b/tests/run_tests.sh
index 7bdf8e0..b40ba9c 100755
--- a/tests/run_tests.sh
+++ b/tests/run_tests.sh
@@ -292,6 +292,7 @@
run_wrap_error_test $DTC division-by-zero.dts
run_wrap_error_test $DTC bad-octal-literal.dts
+ run_dtc_test -I dts -O dtb nul-in-escape.dts
}
dtc_tests () {
diff --git a/util.c b/util.c
index cbb945b..fb124ee 100644
--- a/util.c
+++ b/util.c
@@ -152,7 +152,6 @@
int j = *i + 1;
char val;
- assert(c);
switch (c) {
case 'a':
val = '\a';