Reported-by: Mantas Mikulėnas <grawity@gmail.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
static int lookup_umount_fs(struct libmnt_context *cxt)
{
const char *tgt;
- struct libmnt_fs *fs;
+ struct libmnt_fs *fs = NULL;
int rc;
assert(cxt);
rc = mnt_context_find_umount_fs(cxt, tgt, &fs);
if (rc < 0)
return rc;
- if (!fs) {
+ if (rc == 1 || !fs) {
DBG(CXT, mnt_debug_h(cxt, "umount: cannot find %s in mtab", tgt));
return 0;
}
{
const struct libmnt_fs *org = dest;
+ if (!src)
+ return NULL;
+
if (!dest) {
dest = mnt_new_fs();
if (!dest)
__ul_attribute__((nonnull));
extern struct libmnt_fs *mnt_copy_fs(struct libmnt_fs *dest,
const struct libmnt_fs *src)
- __ul_attribute__((nonnull(2), warn_unused_result));
+ __ul_attribute__((warn_unused_result));
extern void *mnt_fs_get_userdata(struct libmnt_fs *fs)
__ul_attribute__((nonnull));
extern int mnt_fs_set_userdata(struct libmnt_fs *fs, void *data);