summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libmount/src/context_mount.c3
-rw-r--r--libmount/src/tab_diff.c2
2 files changed, 4 insertions, 1 deletions
diff --git a/libmount/src/context_mount.c b/libmount/src/context_mount.c
index 307da3c5c..58224088a 100644
--- a/libmount/src/context_mount.c
+++ b/libmount/src/context_mount.c
@@ -60,6 +60,9 @@ static int mnt_context_append_additional_mount(struct libmnt_context *cxt,
assert(cxt);
assert(ad);
+ if (!list_empty(&ad->mounts))
+ return -EINVAL;
+
DBG(CXT, ul_debugobj(cxt,
"mount: add additional flag: 0x%08lx",
ad->mountflags));
diff --git a/libmount/src/tab_diff.c b/libmount/src/tab_diff.c
index 70440bf8b..fdb1ef5c2 100644
--- a/libmount/src/tab_diff.c
+++ b/libmount/src/tab_diff.c
@@ -136,7 +136,7 @@ static int tabdiff_reset(struct libmnt_tabdiff *df)
struct tabdiff_entry *de = list_entry(df->changes.next,
struct tabdiff_entry, changes);
- list_del(&de->changes);
+ list_del_init(&de->changes);
list_add_tail(&de->changes, &df->unused);
mnt_unref_fs(de->new_fs);