From: Karel Zak Date: Tue, 18 Feb 2025 12:08:03 +0000 (+0100) Subject: libmount: fix table_init_listmount() X-Git-Tag: v2.42-start~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=26a1ec07e153e714e4cf1c49f83e346bd2892877;p=thirdparty%2Futil-linux.git libmount: fix table_init_listmount() Addresses: 8ab1890df4481ddabfa34a8c7fbed09fdd818eba Signed-off-by: Karel Zak --- diff --git a/libmount/src/tab_listmount.c b/libmount/src/tab_listmount.c index 1ccdf2e77..c9725a23c 100644 --- a/libmount/src/tab_listmount.c +++ b/libmount/src/tab_listmount.c @@ -81,7 +81,7 @@ struct libmnt_listmnt { static int table_init_listmount(struct libmnt_table *tb, size_t stepsiz) { - struct libmnt_listmnt *ls = NULL;; + struct libmnt_listmnt *ls; if (!tb) return -EINVAL; @@ -120,18 +120,18 @@ static int table_init_listmount(struct libmnt_table *tb, size_t stepsiz) ls->list = (uint64_t *) (x + sizeof(struct libmnt_listmnt)); ls->stepsiz = stepsiz; ls->id = LSMT_ROOT; /* default */ - } - /* reuse old setting */ - if (tb->lsmnt && ls != tb->lsmnt) { - ls->id = tb->lsmnt->id; - ls->ns = tb->lsmnt->ns; - ls->last = tb->lsmnt->last; - ls->enabled = tb->lsmnt->enabled; - ls->reverse = tb->lsmnt->reverse; - free(tb->lsmnt); + /* reuse old setting */ + if (tb->lsmnt) { + ls->id = tb->lsmnt->id; + ls->ns = tb->lsmnt->ns; + ls->last = tb->lsmnt->last; + ls->enabled = tb->lsmnt->enabled; + ls->reverse = tb->lsmnt->reverse; - tb->lsmnt = ls; + free(tb->lsmnt); + } + tb->lsmnt = ls;; } DBG(TAB, ul_debugobj(tb, "listmount: init [step=%zu]", ls->stepsiz));