Properly handle embedded nul delimited string lists

For example:

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

Where \0 is an actual embedded NUL in the source instead of a string
escape. To achieve this, use the len given by the lexer instead of
strlen.

Without this patch dtc will mangle the output and possibly hang on
realloc.
This commit is contained in:
Jack Miller 2014-08-06 15:52:03 -05:00 committed by David Gibson
parent f9e91a48ba
commit 5d4a8b9c4c
4 changed files with 11 additions and 1 deletions

2
data.c
View file

@ -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) {