+2010-11-11 Tomas Mraz <tm@t8m.info>
+
+ * modules/pam_selinux/pam_selinux.c (pam_sm_open_session): Fix
+ potential use after free in case SELinux is misconfigured.
+
+ * modules/pam_namespace/pam_namespace.c (process_line): Fix memory
+ leak when parsing empty config file lines.
+
2010-10-28 Thorsten Kukuk <kukuk@thkukuk.de>
* release version 1.1.3
const char *rvar_values[] = {rhome, idata->ruser};
int len;
- poly = calloc(1, sizeof(*poly));
- if (poly == NULL)
- goto erralloc;
-
/*
* skip the leading white space
*/
if (line[0] == 0)
return 0;
+ poly = calloc(1, sizeof(*poly));
+ if (poly == NULL)
+ goto erralloc;
+
/*
* Initialize and scan the five strings from the line from the
* namespace configuration file.
if (debug)
pam_syslog(pamh, LOG_DEBUG, "Username= %s SELinux User = %s Level= %s",
username, seuser, level);
- free(seuser);
free(level);
}
if (num_contexts > 0) {
+ free(seuser);
default_user_context=strdup(contextlist[0]);
freeconary(contextlist);
if (default_user_context == NULL) {
}
}
else {
- user_context = manual_context(pamh,seuser,debug);
+ if (seuser != NULL) {
+ user_context = manual_context(pamh,seuser,debug);
+ free(seuser);
+ }
if (user_context == NULL) {
pam_syslog (pamh, LOG_ERR, "Unable to get valid context for %s",
username);