summaryrefslogtreecommitdiffstats
path: root/libmount/src
diff options
context:
space:
mode:
authorKarel Zak2019-02-18 12:35:09 +0100
committerKarel Zak2019-02-18 12:35:51 +0100
commita57c9865f803679ea3d7f7e77f53492dda12256b (patch)
tree7bdddf0485c9b4bebb32585bc6e69cd4df5986b7 /libmount/src
parentlibfdisk: use list_add_tail() in more robust way (diff)
downloadkernel-qcow2-util-linux-a57c9865f803679ea3d7f7e77f53492dda12256b.tar.gz
kernel-qcow2-util-linux-a57c9865f803679ea3d7f7e77f53492dda12256b.tar.xz
kernel-qcow2-util-linux-a57c9865f803679ea3d7f7e77f53492dda12256b.zip
libmount: (tabdiff) use list_add_tail() in more robust way
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'libmount/src')
-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);