devicetree-compiler.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 2/2] Properly handle nul delimited string lists
@ 2014-06-24 18:31 Jack Miller
  0 siblings, 0 replies; 2+ messages in thread
From: Jack Miller @ 2014-06-24 18:31 UTC (permalink / raw)
  To: devicetree-compiler-u79uwXL29TY76Z2rM5mHXA

reserved-names="res1\0res2\0res3";

Where \0 is a true embedded nul in the DTS source, should properly turn
into a string list. To achieve this, use the len given by the lexer
instead of strlen.

Without this patch dtc will mangle the output and possible hang on
realloc.
---
 data.c                    |   2 +-
 tests/nul_string_list.dtb | Bin 0 -> 127 bytes
 tests/nul_string_list.dts | Bin 0 -> 66 bytes
 tests/run_tests.sh        |   3 +++
 4 files changed, 4 insertions(+), 1 deletion(-)
 create mode 100644 tests/nul_string_list.dtb
 create mode 100644 tests/nul_string_list.dts

diff --git a/data.c b/data.c
index 4c50b12..8cae237 100644
--- a/data.c
+++ b/data.c
@@ -74,7 +74,7 @@ struct data data_copy_escape_string(const char *s, int len)
 	struct data d;
 	char *q;
 
-	d = data_grow_for(empty_data, strlen(s)+1);
+	d = data_grow_for(empty_data, len + 1);
 
 	q = d.val;
 	while (i < len) {
diff --git a/tests/nul_string_list.dtb b/tests/nul_string_list.dtb
new file mode 100644
index 0000000000000000000000000000000000000000..ea2bc3915d8129c849d2cc7b247bc9d1a201256c
GIT binary patch
literal 127
zcmcb>`|m9S14BI!TL5tZ5NiOjAP@@xF$nMjF-Q&_FhT{GfwVM;U6fj!T2z*52xAz*
W7{*|gOhA$oswPD@FEKZ@m;nI8VH4E=

literal 0
HcmV?d00001

diff --git a/tests/nul_string_list.dts b/tests/nul_string_list.dts
new file mode 100644
index 0000000000000000000000000000000000000000..845a14425fd36db3fac2934d1412dbb2cd8fb3a9
GIT binary patch
literal 66
zcmdN-DJj-1Gt{@{;?h^B=He_$Elw>eOHI+uOUz9zR<Ko2f{GY2Kp93bhOv@0SFJS{
E0H@#-od5s;

literal 0
HcmV?d00001

diff --git a/tests/run_tests.sh b/tests/run_tests.sh
index f94d361..94b462a 100755
--- a/tests/run_tests.sh
+++ b/tests/run_tests.sh
@@ -321,6 +321,9 @@ dtc_tests () {
     run_dtc_test -I dts -O dtb -o dtc_comments-cmp.test.dtb comments-cmp.dts
     run_test dtbs_equal_ordered dtc_comments.test.dtb dtc_comments-cmp.test.dtb
 
+    run_dtc_test -I dts -O dtb -o dtc_nul_string_list.test.dtb nul_string_list.dts
+    run_test dtbs_equal_ordered dtc_nul_string_list.test.dtb nul_string_list.dtb
+
     # Check aliases support in fdt_path_offset
     run_dtc_test -I dts -O dtb -o aliases.dtb aliases.dts
     run_test get_alias aliases.dtb
-- 
2.0.0

--
To unsubscribe from this list: send the line "unsubscribe devicetree-compiler" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 2+ messages in thread
* [PATCH] Nul delimiter redux
@ 2014-06-24 19:50 Jack Miller
       [not found] ` <1403639439-1032-1-git-send-email-jack-jZyo8ZIaZD9AfugRpC6u6w@public.gmane.org>
  0 siblings, 1 reply; 2+ messages in thread
From: Jack Miller @ 2014-06-24 19:50 UTC (permalink / raw)
  To: devicetree-compiler-u79uwXL29TY76Z2rM5mHXA

I missent the last patches (TIL telling send-email 'n' will still send the
remaining  patches =P). Half way through composing, I realized that I was
probably missing untracked .dtbs thanks to .gitignore.

Anyway, so the first patch uses *.test.dtb suffix, or *test_tree1.dtb suffixes
to delete instead of *.dtb so that an included .dtb won't be eliminated. It
would've been easier to just to suffix the one file I wanted to include, but I
tried to take a hint from the test.dts. The only hack is that the other dtbs
generated by "make tests" are explicitly included in the cleanup list.

This is pretty invasive for a test of a five character patch, but it should
make it easier if binary tests are added later.

Other patch is the same as the previous ones, just merged and with the test.dts
name change.

- Jack

--
To unsubscribe from this list: send the line "unsubscribe devicetree-compiler" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-06-24 19:50 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-24 18:31 [PATCH 2/2] Properly handle nul delimited string lists Jack Miller
  -- strict thread matches above, loose matches on Subject: below --
2014-06-24 19:50 [PATCH] Nul delimiter redux Jack Miller
     [not found] ` <1403639439-1032-1-git-send-email-jack-jZyo8ZIaZD9AfugRpC6u6w@public.gmane.org>
2014-06-24 19:50   ` [PATCH 2/2] Properly handle nul delimited string lists Jack Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).