Bug#493524: xdm: SE Linux patch was written for old version
On Sun, Aug 3, 2008 at 09:30:37 +1000, Russell Coker wrote:
> +#ifdef HAVE_SELINUX
> +/* This should be run just before we exec the user session. */
> +static int
> +xdm_selinux_setup (const char *login)
> + {
> + security_context_t scontext;
> + int ret = -1;
> + char *seuser=NULL;
> + char *level=NULL;
> +
> + /* If SELinux is not enabled, then we don't do anything. */
> + if ( is_selinux_enabled () <= 0)
> + return TRUE;
> +
> + if (getseuserbyname(login, &seuser, &level) == 0)
> + ret=get_default_context_with_level(seuser, level, 0, &scontext);
> + if (ret < 0 || scontext == NULL) {
> + LogError ("SELinux: unable to obtain default security context for %s\n", login);
> + return FALSE;
> + }
> +
> + if (setexeccon (scontext) != 0) {
> + freecon (scontext);
> + LogError ("SELinux: unable to set executable context %s\n",
> + (char *)scontext);
> + return FALSE;
> + }
> +
> + freecon (scontext);
> + return TRUE;
> +}
> +#endif /* HAVE_SELINUX */
> +
Looks like seuser and level are never freed. Am I missing something?
Cheers,
Julien
Reply to: