devicetree-compiler.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Fix get_node_by_path string equality check
@ 2017-04-18  0:08 Tim Montague
       [not found] ` <f5424c7ce8334730a64873b9912132d3-xbOadlNgr96L7B8feK0ILA@public.gmane.org>
  0 siblings, 1 reply; 6+ messages in thread
From: Tim Montague @ 2017-04-18  0:08 UTC (permalink / raw)
  To: Rob Herring; +Cc: devicetree-compiler-u79uwXL29TY76Z2rM5mHXA@public.gmane.org

When determining if to recurse into a node, get_node_by_path does not
check if the length of each node name is equal.  If searching for
/foo/baz, this can result in recursing into /food because
strneq("foo", "food", 3) is true.

Signed-off-by: Tim Montague <tmontague@ghs.com>
---
 livetree.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/livetree.c b/livetree.c
index 3673de0..aecd278 100644
--- a/livetree.c
+++ b/livetree.c
@@ -478,7 +478,8 @@ struct node *get_node_by_path(struct node *tree, const char *path)
 	p = strchr(path, '/');
 
 	for_each_child(tree, child) {
-		if (p && strneq(path, child->name, p-path))
+		if (p && (strlen(child->name) == p-path) &&
+				strneq(path, child->name, p-path))
 			return get_node_by_path(child, p+1);
 		else if (!p && streq(path, child->name))
 			return child;
-- 
2.7.4

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

end of thread, other threads:[~2017-04-19  1:30 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-18  0:08 [PATCH] Fix get_node_by_path string equality check Tim Montague
     [not found] ` <f5424c7ce8334730a64873b9912132d3-xbOadlNgr96L7B8feK0ILA@public.gmane.org>
2017-04-18  2:05   ` David Gibson
     [not found]     ` <20170418020540.GA12235-K0bRW+63XPQe6aEkudXLsA@public.gmane.org>
2017-04-18  3:18       ` Tim Montague
     [not found]         ` <77edbc7797e144cd9a635e5b1d0b2dfe-xbOadlNgr96L7B8feK0ILA@public.gmane.org>
2017-04-18  3:43           ` David Gibson
     [not found]             ` <20170418034332.GH12235-K0bRW+63XPQe6aEkudXLsA@public.gmane.org>
2017-04-19  1:15               ` Tim Montague
     [not found]                 ` <7417379a9afc4272b5b62b8ff4e50719-xbOadlNgr96L7B8feK0ILA@public.gmane.org>
2017-04-19  1:30                   ` David Gibson

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).