diff options
author | David Gibson <david@gibson.dropbear.id.au> | 2023-02-27 23:11:29 +1100 |
---|---|---|
committer | David Gibson <david@gibson.dropbear.id.au> | 2023-03-01 17:47:27 +1100 |
commit | 0b842c3c819971cdbe0915469759c40f6eb3db7e (patch) | |
tree | 98fcb46e669e220cce63b42db3f21a6ac170bfd6 /flattree.c | |
parent | 9cceabea1ee09ae0864d365b7b3cc89a01b1287c (diff) | |
download | dtc-0b842c3c819971cdbe0915469759c40f6eb3db7e.zip dtc-0b842c3c819971cdbe0915469759c40f6eb3db7e.tar.gz dtc-0b842c3c819971cdbe0915469759c40f6eb3db7e.tar.bz2 |
Make build_property() xstrdup its name argument
The name field of 'struct property' was really always supposed to be a
malloc()ed string, that is owned by the structure. To avoid an extra
strdup() for strings coming up from the lexer, build_property() and
build_property_delete() expect to take such an already malloc()ed string,
which means it's not correct to pass it a static string literal.
That's a pretty non-obvious constraint, so a bunch of incorrect uses have
crept in. Really, avoiding the extra dup from the lexer isn't a big enough
benefit for this demonstrably dangerous interface. So change it to do the
xstrdup() itself, removing the burden from callers.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'flattree.c')
0 files changed, 0 insertions, 0 deletions