conf: check for successful mount entry parse

Since liblxc is completely in control of the mount entry file we should
only consider a parse successful when EOF is reached.

Closes #2798.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
This commit is contained in:
Christian Brauner 2019-01-27 02:22:43 +01:00
parent 3309e10c31
commit 9d03d85733
No known key found for this signature in database
GPG Key ID: 8EB056D53EECB12D

View File

@ -2336,11 +2336,12 @@ static int mount_file_entries(const struct lxc_conf *conf,
const struct lxc_rootfs *rootfs, FILE *file,
const char *lxc_name, const char *lxc_path)
{
char buf[4096];
char buf[PATH_MAX];
struct mntent mntent;
int ret = -1;
while (getmntent_r(file, &mntent, buf, sizeof(buf))) {
int ret;
if (!rootfs->path)
ret = mount_entry_on_systemfs(&mntent);
else if (mntent.mnt_dir[0] != '/')
@ -2352,10 +2353,13 @@ static int mount_file_entries(const struct lxc_conf *conf,
if (ret < 0)
return -1;
}
ret = 0;
INFO("Finished setting up mounts");
return ret;
if (!feof(file) || ferror(file)) {
ERROR("Failed to parse mount entries");
return -1;
}
return 0;
}
static int setup_mount(const struct lxc_conf *conf,