summaryrefslogtreecommitdiffstats
path: root/libmount/src/context.c
diff options
context:
space:
mode:
Diffstat (limited to 'libmount/src/context.c')
-rw-r--r--libmount/src/context.c55
1 files changed, 49 insertions, 6 deletions
diff --git a/libmount/src/context.c b/libmount/src/context.c
index 614d3f3b5..38f80de7a 100644
--- a/libmount/src/context.c
+++ b/libmount/src/context.c
@@ -196,6 +196,7 @@ int mnt_reset_context(struct libmnt_context *cxt)
*/
int mnt_context_reset_status(struct libmnt_context *cxt)
{
+ assert(cxt);
if (!cxt)
return -EINVAL;
@@ -207,6 +208,7 @@ int mnt_context_reset_status(struct libmnt_context *cxt)
static int set_flag(struct libmnt_context *cxt, int flag, int enable)
{
+ assert(cxt);
if (!cxt)
return -EINVAL;
if (enable) {
@@ -227,7 +229,6 @@ static int set_flag(struct libmnt_context *cxt, int flag, int enable)
*/
int mnt_context_is_restricted(struct libmnt_context *cxt)
{
- assert(cxt);
return cxt->restricted;
}
@@ -270,6 +271,7 @@ int mnt_context_is_restricted(struct libmnt_context *cxt)
*/
int mnt_context_set_optsmode(struct libmnt_context *cxt, int mode)
{
+ assert(cxt);
if (!cxt)
return -EINVAL;
cxt->optsmode = mode;
@@ -285,6 +287,7 @@ int mnt_context_set_optsmode(struct libmnt_context *cxt, int mode)
int mnt_context_get_optsmode(struct libmnt_context *cxt)
{
+ assert(cxt);
return cxt->optsmode;
}
@@ -663,6 +666,7 @@ int mnt_context_set_fs(struct libmnt_context *cxt, struct libmnt_fs *fs)
*/
struct libmnt_fs *mnt_context_get_fs(struct libmnt_context *cxt)
{
+ assert(cxt);
if (!cxt)
return NULL;
if (!cxt->fs) {
@@ -681,6 +685,7 @@ struct libmnt_fs *mnt_context_get_fs(struct libmnt_context *cxt)
*/
int mnt_context_set_source(struct libmnt_context *cxt, const char *source)
{
+ assert(cxt);
return mnt_fs_set_source(mnt_context_get_fs(cxt), source);
}
@@ -692,6 +697,7 @@ int mnt_context_set_source(struct libmnt_context *cxt, const char *source)
*/
const char *mnt_context_get_source(struct libmnt_context *cxt)
{
+ assert(cxt);
return mnt_fs_get_source(mnt_context_get_fs(cxt));
}
@@ -704,6 +710,7 @@ const char *mnt_context_get_source(struct libmnt_context *cxt)
*/
int mnt_context_set_target(struct libmnt_context *cxt, const char *target)
{
+ assert(cxt);
return mnt_fs_set_target(mnt_context_get_fs(cxt), target);
}
@@ -715,6 +722,7 @@ int mnt_context_set_target(struct libmnt_context *cxt, const char *target)
*/
const char *mnt_context_get_target(struct libmnt_context *cxt)
{
+ assert(cxt);
return mnt_fs_get_target(mnt_context_get_fs(cxt));
}
@@ -731,6 +739,7 @@ const char *mnt_context_get_target(struct libmnt_context *cxt)
*/
int mnt_context_set_fstype(struct libmnt_context *cxt, const char *fstype)
{
+ assert(cxt);
return mnt_fs_set_fstype(mnt_context_get_fs(cxt), fstype);
}
@@ -742,6 +751,7 @@ int mnt_context_set_fstype(struct libmnt_context *cxt, const char *fstype)
*/
const char *mnt_context_get_fstype(struct libmnt_context *cxt)
{
+ assert(cxt);
return mnt_fs_get_fstype(mnt_context_get_fs(cxt));
}
@@ -754,6 +764,7 @@ const char *mnt_context_get_fstype(struct libmnt_context *cxt)
*/
int mnt_context_set_options(struct libmnt_context *cxt, const char *optstr)
{
+ assert(cxt);
return mnt_fs_set_options(mnt_context_get_fs(cxt), optstr);
}
@@ -766,6 +777,7 @@ int mnt_context_set_options(struct libmnt_context *cxt, const char *optstr)
*/
int mnt_context_append_options(struct libmnt_context *cxt, const char *optstr)
{
+ assert(cxt);
return mnt_fs_append_options(mnt_context_get_fs(cxt), optstr);
}
@@ -784,6 +796,7 @@ int mnt_context_append_options(struct libmnt_context *cxt, const char *optstr)
*/
const char *mnt_context_get_options(struct libmnt_context *cxt)
{
+ assert(cxt);
return mnt_fs_get_options(mnt_context_get_fs(cxt));
}
@@ -800,6 +813,7 @@ int mnt_context_set_fstype_pattern(struct libmnt_context *cxt, const char *patte
{
char *p = NULL;
+ assert(cxt);
if (!cxt)
return -EINVAL;
if (pattern) {
@@ -825,6 +839,7 @@ int mnt_context_set_options_pattern(struct libmnt_context *cxt, const char *patt
{
char *p = NULL;
+ assert(cxt);
if (!cxt)
return -EINVAL;
if (pattern) {
@@ -856,6 +871,7 @@ int mnt_context_set_options_pattern(struct libmnt_context *cxt, const char *patt
*/
int mnt_context_set_fstab(struct libmnt_context *cxt, struct libmnt_table *tb)
{
+ assert(cxt);
if (!cxt)
return -EINVAL;
if (!(cxt->flags & MNT_FL_EXTERN_FSTAB))
@@ -879,9 +895,9 @@ int mnt_context_get_fstab(struct libmnt_context *cxt, struct libmnt_table **tb)
{
struct libmnt_cache *cache;
+ assert(cxt);
if (!cxt)
return -EINVAL;
-
if (!cxt->fstab) {
int rc;
@@ -921,9 +937,9 @@ int mnt_context_get_mtab(struct libmnt_context *cxt, struct libmnt_table **tb)
{
struct libmnt_cache *cache;
+ assert(cxt);
if (!cxt)
return -EINVAL;
-
if (!cxt->mtab) {
int rc;
@@ -962,6 +978,7 @@ int mnt_context_set_tabfilter(struct libmnt_context *cxt,
int (*fltr)(struct libmnt_fs *, void *),
void *data)
{
+ assert(cxt);
if (!cxt)
return -EINVAL;
@@ -1002,6 +1019,8 @@ int mnt_context_get_table(struct libmnt_context *cxt,
struct libmnt_cache *cache;
int rc;
+ assert(cxt);
+ assert(tb);
if (!cxt || !tb)
return -EINVAL;
@@ -1042,6 +1061,7 @@ int mnt_context_get_table(struct libmnt_context *cxt,
int mnt_context_set_tables_errcb(struct libmnt_context *cxt,
int (*cb)(struct libmnt_table *tb, const char *filename, int line))
{
+ assert(cxt);
if (!cxt)
return -EINVAL;
@@ -1085,6 +1105,7 @@ int mnt_context_set_cache(struct libmnt_context *cxt, struct libmnt_cache *cache
*/
struct libmnt_cache *mnt_context_get_cache(struct libmnt_context *cxt)
{
+ assert(cxt);
if (!cxt || mnt_context_is_nocanonicalize(cxt))
return NULL;
@@ -1112,9 +1133,9 @@ int mnt_context_set_passwd_cb(struct libmnt_context *cxt,
char *(*get)(struct libmnt_context *),
void (*release)(struct libmnt_context *, char *))
{
+ assert(cxt);
if (!cxt)
return -EINVAL;
-
cxt->pwd_get_cb = get;
cxt->pwd_release_cb = release;
return 0;
@@ -1142,6 +1163,7 @@ int mnt_context_set_passwd_cb(struct libmnt_context *cxt,
*/
struct libmnt_lock *mnt_context_get_lock(struct libmnt_context *cxt)
{
+ assert(cxt);
/*
* DON'T call this function within libmount, it will always allocate
* the lock. The mnt_update_* functions are able to allocate the lock
@@ -1181,6 +1203,7 @@ struct libmnt_lock *mnt_context_get_lock(struct libmnt_context *cxt)
*/
int mnt_context_set_mflags(struct libmnt_context *cxt, unsigned long flags)
{
+ assert(cxt);
if (!cxt)
return -EINVAL;
@@ -1213,6 +1236,8 @@ int mnt_context_get_mflags(struct libmnt_context *cxt, unsigned long *flags)
int rc = 0;
struct list_head *p;
+ assert(cxt);
+ assert(flags);
if (!cxt || !flags)
return -EINVAL;
@@ -1249,6 +1274,7 @@ int mnt_context_get_mflags(struct libmnt_context *cxt, unsigned long *flags)
*/
int mnt_context_set_user_mflags(struct libmnt_context *cxt, unsigned long flags)
{
+ assert(cxt);
if (!cxt)
return -EINVAL;
cxt->user_mountflags = flags;
@@ -1268,6 +1294,9 @@ int mnt_context_set_user_mflags(struct libmnt_context *cxt, unsigned long flags)
int mnt_context_get_user_mflags(struct libmnt_context *cxt, unsigned long *flags)
{
int rc = 0;
+
+ assert(cxt);
+ assert(flags);
if (!cxt || !flags)
return -EINVAL;
@@ -1299,6 +1328,7 @@ int mnt_context_get_user_mflags(struct libmnt_context *cxt, unsigned long *flags
*/
int mnt_context_set_mountdata(struct libmnt_context *cxt, void *data)
{
+ assert(cxt);
if (!cxt)
return -EINVAL;
cxt->mountdata = data;
@@ -1908,6 +1938,7 @@ int mnt_context_apply_fstab(struct libmnt_context *cxt)
*/
int mnt_context_tab_applied(struct libmnt_context *cxt)
{
+ assert(cxt);
return cxt->flags & MNT_FL_TAB_APPLIED;
}
@@ -1949,6 +1980,7 @@ int mnt_context_propagation_only(struct libmnt_context *cxt)
*/
int mnt_context_get_status(struct libmnt_context *cxt)
{
+ assert(cxt);
return !cxt->syscall_status || !cxt->helper_exec_status;
}
@@ -1960,6 +1992,7 @@ int mnt_context_get_status(struct libmnt_context *cxt)
*/
int mnt_context_helper_executed(struct libmnt_context *cxt)
{
+ assert(cxt);
return cxt->helper_exec_status != 1;
}
@@ -1972,6 +2005,7 @@ int mnt_context_helper_executed(struct libmnt_context *cxt)
*/
int mnt_context_get_helper_status(struct libmnt_context *cxt)
{
+ assert(cxt);
return cxt->helper_status;
}
@@ -1983,6 +2017,7 @@ int mnt_context_get_helper_status(struct libmnt_context *cxt)
*/
int mnt_context_syscall_called(struct libmnt_context *cxt)
{
+ assert(cxt);
return cxt->syscall_status != 1;
}
@@ -1997,9 +2032,9 @@ int mnt_context_syscall_called(struct libmnt_context *cxt)
*/
int mnt_context_get_syscall_errno(struct libmnt_context *cxt)
{
+ assert(cxt);
if (cxt->syscall_status < 0)
return -cxt->syscall_status;
-
return 0;
}
@@ -2017,6 +2052,7 @@ int mnt_context_get_syscall_errno(struct libmnt_context *cxt)
*/
int mnt_context_set_syscall_status(struct libmnt_context *cxt, int status)
{
+ assert(cxt);
if (!cxt)
return -EINVAL;
@@ -2063,8 +2099,11 @@ int mnt_context_strerror(struct libmnt_context *cxt __attribute__((__unused__)),
int mnt_context_init_helper(struct libmnt_context *cxt, int action,
int flags __attribute__((__unused__)))
{
- int rc = mnt_context_disable_helpers(cxt, TRUE);
+ int rc;
+ assert(cxt);
+
+ rc = mnt_context_disable_helpers(cxt, TRUE);
if (!rc)
rc = set_flag(cxt, MNT_FL_HELPER, 1);
if (!rc)
@@ -2115,6 +2154,7 @@ int mnt_context_is_fs_mounted(struct libmnt_context *cxt,
struct libmnt_table *mtab;
int rc;
+ assert(cxt);
if (!cxt || !fs || !mounted)
return -EINVAL;
@@ -2130,6 +2170,7 @@ static int mnt_context_add_child(struct libmnt_context *cxt, pid_t pid)
{
pid_t *pids;
+ assert(cxt);
if (!cxt)
return -EINVAL;
@@ -2149,6 +2190,7 @@ int mnt_fork_context(struct libmnt_context *cxt)
int rc = 0;
pid_t pid;
+ assert(cxt);
if (!mnt_context_is_parent(cxt))
return -EINVAL;
@@ -2182,6 +2224,7 @@ int mnt_context_wait_for_children(struct libmnt_context *cxt,
{
int i;
+ assert(cxt);
if (!cxt)
return -EINVAL;