diff options
| author | Renato Westphal <renato@opensourcerouting.org> | 2018-11-08 02:18:38 -0200 | 
|---|---|---|
| committer | Renato Westphal <renato@opensourcerouting.org> | 2018-11-26 17:35:58 -0200 | 
| commit | e5dc8a44ee9732dd32358b13dd52e59527e6835f (patch) | |
| tree | adcf02114f1efec6e7a738e4ce8cf0b5fad6e8b4 /lib/yang.c | |
| parent | db452508bf3d808a33b3fc04c946d8cc2939bbb7 (diff) | |
lib: remove entire data tree on yang_dnode_free()
For convenience, make yang_dnode_free() remove the entire data tree and
not only the data node given as a parameter.
Also, add a null-pointer check on nb_config_replace() before calling
yang_dnode_free().
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
Diffstat (limited to 'lib/yang.c')
| -rw-r--r-- | lib/yang.c | 2 | 
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/yang.c b/lib/yang.c index 7daef79198..73f63b18e4 100644 --- a/lib/yang.c +++ b/lib/yang.c @@ -523,6 +523,8 @@ struct lyd_node *yang_dnode_dup(const struct lyd_node *dnode)  void yang_dnode_free(struct lyd_node *dnode)  { +	while (dnode->parent) +		dnode = dnode->parent;  	lyd_free_withsiblings(dnode);  }  | 
