* NEWS, src/userdel.c: Fix segfault when userdel removes the
user's group.
This commit is contained in:
		@@ -1,3 +1,8 @@
 | 
				
			|||||||
 | 
					2012-05-18  Nicolas François  <nicolas.francois@centraliens.net>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						* NEWS, src/userdel.c: Fix segfault when userdel removes the
 | 
				
			||||||
 | 
						user's group.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
2012-05-17  Nicolas François  <nicolas.francois@centraliens.net>
 | 
					2012-05-17  Nicolas François  <nicolas.francois@centraliens.net>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	* NEWS, src/login.c: Log in utmp / utmpx / wtmp also when PAM is
 | 
						* NEWS, src/login.c: Log in utmp / utmpx / wtmp also when PAM is
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								NEWS
									
									
									
									
									
								
							@@ -5,6 +5,8 @@ shadow-4.1.5 -> shadow-4.1.5.1					UNRELEASED
 | 
				
			|||||||
- login
 | 
					- login
 | 
				
			||||||
  * Log into utmp(x) when PAM is enabled, but do not log into wtmp.
 | 
					  * Log into utmp(x) when PAM is enabled, but do not log into wtmp.
 | 
				
			||||||
    This complete pam_lastlog which logs into wtmp and in into utmp(x).
 | 
					    This complete pam_lastlog which logs into wtmp and in into utmp(x).
 | 
				
			||||||
 | 
					- userdel
 | 
				
			||||||
 | 
					  * Fix segfault when userdel removes the user's group.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
shadow-4.1.4.3 -> shadow-4.1.5					2012-02-12
 | 
					shadow-4.1.4.3 -> shadow-4.1.5					2012-02-12
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -333,22 +333,22 @@ static void remove_usergroup (void)
 | 
				
			|||||||
		 * We can remove this group, it is not the primary
 | 
							 * We can remove this group, it is not the primary
 | 
				
			||||||
		 * group of any remaining user.
 | 
							 * group of any remaining user.
 | 
				
			||||||
		 */
 | 
							 */
 | 
				
			||||||
		if (gr_remove (grp->gr_name) == 0) {
 | 
							if (gr_remove (user_name) == 0) {
 | 
				
			||||||
			fprintf (stderr,
 | 
								fprintf (stderr,
 | 
				
			||||||
			         _("%s: cannot remove entry '%s' from %s\n"),
 | 
								         _("%s: cannot remove entry '%s' from %s\n"),
 | 
				
			||||||
			         Prog, grp->gr_name, gr_dbname ());
 | 
								         Prog, user_name, gr_dbname ());
 | 
				
			||||||
			fail_exit (E_GRP_UPDATE);
 | 
								fail_exit (E_GRP_UPDATE);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef WITH_AUDIT
 | 
					#ifdef WITH_AUDIT
 | 
				
			||||||
		audit_logger (AUDIT_DEL_GROUP, Prog,
 | 
							audit_logger (AUDIT_DEL_GROUP, Prog,
 | 
				
			||||||
		              "deleting group",
 | 
							              "deleting group",
 | 
				
			||||||
		              grp->gr_name, AUDIT_NO_ID,
 | 
							              user_name, AUDIT_NO_ID,
 | 
				
			||||||
		              SHADOW_AUDIT_SUCCESS);
 | 
							              SHADOW_AUDIT_SUCCESS);
 | 
				
			||||||
#endif				/* WITH_AUDIT */
 | 
					#endif				/* WITH_AUDIT */
 | 
				
			||||||
		SYSLOG ((LOG_INFO,
 | 
							SYSLOG ((LOG_INFO,
 | 
				
			||||||
		         "removed group '%s' owned by '%s'\n",
 | 
							         "removed group '%s' owned by '%s'\n",
 | 
				
			||||||
		         grp->gr_name, user_name));
 | 
							         user_name, user_name));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef	SHADOWGRP
 | 
					#ifdef	SHADOWGRP
 | 
				
			||||||
		if (sgr_locate (user_name) != NULL) {
 | 
							if (sgr_locate (user_name) != NULL) {
 | 
				
			||||||
@@ -361,12 +361,12 @@ static void remove_usergroup (void)
 | 
				
			|||||||
#ifdef WITH_AUDIT
 | 
					#ifdef WITH_AUDIT
 | 
				
			||||||
			audit_logger (AUDIT_DEL_GROUP, Prog,
 | 
								audit_logger (AUDIT_DEL_GROUP, Prog,
 | 
				
			||||||
			              "deleting shadow group",
 | 
								              "deleting shadow group",
 | 
				
			||||||
			              grp->gr_name, AUDIT_NO_ID,
 | 
								              user_name, AUDIT_NO_ID,
 | 
				
			||||||
			              SHADOW_AUDIT_SUCCESS);
 | 
								              SHADOW_AUDIT_SUCCESS);
 | 
				
			||||||
#endif				/* WITH_AUDIT */
 | 
					#endif				/* WITH_AUDIT */
 | 
				
			||||||
			SYSLOG ((LOG_INFO,
 | 
								SYSLOG ((LOG_INFO,
 | 
				
			||||||
			         "removed shadow group '%s' owned by '%s'\n",
 | 
								         "removed shadow group '%s' owned by '%s'\n",
 | 
				
			||||||
			         grp->gr_name, user_name));
 | 
								         user_name, user_name));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
#endif				/* SHADOWGRP */
 | 
					#endif				/* SHADOWGRP */
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user