aboutsummaryrefslogtreecommitdiff
path: root/src/rc/rc-selinux.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/rc/rc-selinux.c')
-rw-r--r--src/rc/rc-selinux.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/rc/rc-selinux.c b/src/rc/rc-selinux.c
index a792fe28..2eb631a6 100644
--- a/src/rc/rc-selinux.c
+++ b/src/rc/rc-selinux.c
@@ -334,7 +334,19 @@ void selinux_setup(char **argv)
/* extract the type from the context */
curr_con = context_new(curr_context);
- curr_t = xstrdup(context_type_get(curr_con));
+ if (!curr_con) {
+ free(curr_context);
+ goto out;
+ }
+
+ curr_t = context_type_get(curr_con);
+ if (!curr_t) {
+ context_free(curr_con);
+ free(curr_context);
+ goto out;
+ }
+
+ curr_t = xstrdup(curr_t);
/* dont need them anymore so free() now */
context_free(curr_con);
free(curr_context);