diff options
| author | Daniel Golle | 2020-07-19 23:30:06 +0000 |
|---|---|---|
| committer | Daniel Golle | 2020-07-20 03:20:21 +0000 |
| commit | 686cf7a5a9f38afcc2df10f73875f43bc18a8dd2 (patch) | |
| tree | 79c436b346c159394ba7539dc7176e6fccfeee77 | |
| parent | 6f078ae8bbe62730f08dc6fca45b022d27102798 (diff) | |
| download | procd-686cf7a5a9f38afcc2df10f73875f43bc18a8dd2.tar.gz | |
jail: actually apply filesystem-specific mount options
OCI supplied filesystems-specific mount options have not been stored
in the add_mount() function. strdup() them there and free the original
string in the OCI function.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
| -rw-r--r-- | jail/fs.c | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -170,6 +170,10 @@ int add_mount(const char *source, const char *target, const char *filesystemtype } if (filesystemtype) m->filesystemtype = strdup(filesystemtype); + + if (optstr) + m->optstr = strdup(optstr); + m->mountflags = mountflags; m->error = error; @@ -350,10 +354,15 @@ int parseOCImount(struct blob_attr *msg) return ret; } - return add_mount(tb[OCI_MOUNT_SOURCE] ? blobmsg_get_string(tb[OCI_MOUNT_SOURCE]) : NULL, + ret = add_mount(tb[OCI_MOUNT_SOURCE] ? blobmsg_get_string(tb[OCI_MOUNT_SOURCE]) : NULL, blobmsg_get_string(tb[OCI_MOUNT_DESTINATION]), tb[OCI_MOUNT_TYPE] ? blobmsg_get_string(tb[OCI_MOUNT_TYPE]) : NULL, mount_flags, mount_data, err); + + if (mount_data) + free(mount_data); + + return ret; } static void build_noafile(void) { |