-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 If you build a distribution without MLS turned on, libsemanage will crash if given a user without a level. This patch allows users without levels to be passed in. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk7qFMoACgkQrlYvE4MpobNIhwCbB/baCifURS4ldfZYo4eplezu GwQAn0zyfeS4po8AK7zhJTtTjfUWWrKq =oOTr -----END PGP SIGNATURE-----
diff --git a/libsemanage/src/genhomedircon.c b/libsemanage/src/genhomedircon.c index 847d87e..d2646ae 100644 --- a/libsemanage/src/genhomedircon.c +++ b/libsemanage/src/genhomedircon.c @@ -660,9 +717,12 @@ static int set_fallback_user(genhomedircon_settings_t *s, const char *user, { char *fallback_user = strdup(user); char *fallback_user_prefix = strdup(prefix); - char *fallback_user_level = strdup(level); + char *fallback_user_level = NULL; + if (level) + fallback_user_level = strdup(level); - if (fallback_user == NULL || fallback_user_prefix == NULL || fallback_user_level == NULL) { + if (fallback_user == NULL || fallback_user_prefix == NULL || + (fallback_user_level == NULL && level != NULL)) { free(fallback_user); free(fallback_user_prefix); free(fallback_user_level);