[Crosstoolchain-logs] [device-tree-compiler] 170/198: Fix crash on nul character in string escape sequence

Hector Oron zumbi at moszumanska.debian.org
Thu Dec 8 17:07:06 UTC 2016


This is an automated email from the git hooks/post-receive script.

zumbi pushed a commit to branch upstream/1.4.x
in repository device-tree-compiler.

commit d728ad59f53e72be21fe9bc419953c94aea798cc
Author: David Gibson <david at gibson.dropbear.id.au>
Date:   Sun Jan 3 23:01:24 2016 +1100

    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 at samba.org>
    Signed-off-by: David Gibson <david at gibson.dropbear.id.au>
---
 tests/nul-in-escape.dts | Bin 0 -> 36 bytes
 tests/run_tests.sh      |   1 +
 util.c                  |   1 -
 3 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/nul-in-escape.dts b/tests/nul-in-escape.dts
new file mode 100644
index 0000000..9bed351
Binary files /dev/null and b/tests/nul-in-escape.dts 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 @@ libfdt_tests () {
 
     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 @@ char get_escape_char(const char *s, int *i)
 	int	j = *i + 1;
 	char	val;
 
-	assert(c);
 	switch (c) {
 	case 'a':
 		val = '\a';

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/crosstoolchain/device-tree-compiler.git



More information about the Crosstoolchain-logs mailing list