From: Karel Zak Date: Wed, 29 Jul 2015 12:44:27 +0000 (+0200) Subject: libsmartcols: make child-parent reference more robust [clang analyze] X-Git-Tag: v2.27-rc1~23 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fdd68e25b5d7193bd93653afde60e1ebc07768ca;p=thirdparty%2Futil-linux.git libsmartcols: make child-parent reference more robust [clang analyze] Signed-off-by: Karel Zak --- diff --git a/libsmartcols/src/line.c b/libsmartcols/src/line.c index 0b770daf98..12826a9619 100644 --- a/libsmartcols/src/line.c +++ b/libsmartcols/src/line.c @@ -214,20 +214,19 @@ int scols_line_add_child(struct libscols_line *ln, struct libscols_line *child) if (!ln || !child) return -EINVAL; + DBG(LINE, ul_debugobj(ln, "add child %p", child)); + scols_ref_line(child); + scols_ref_line(ln); + /* unref old<->parent */ if (child->parent) scols_line_remove_child(child->parent, child); - DBG(LINE, ul_debugobj(ln, "add child %p", child)); - /* new reference from parent to child */ list_add_tail(&child->ln_children, &ln->ln_branch); - scols_ref_line(child); /* new reference from child to parent */ child->parent = ln; - scols_ref_line(ln); - return 0; }