diff options
Diffstat (limited to 'libmount/src/context.c')
-rw-r--r-- | libmount/src/context.c | 55 |
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; |