[Pkg-shadow-commits] r2811 - in upstream/trunk: . src

Nicolas FRANÇOIS nekral-guest at alioth.debian.org
Sun Apr 26 16:44:54 UTC 2009


Author: nekral-guest
Date: 2009-04-26 16:44:54 +0000 (Sun, 26 Apr 2009)
New Revision: 2811

Modified:
   upstream/trunk/ChangeLog
   upstream/trunk/src/passwd.c
Log:
	* src/passwd.c: Do not freecon strings duplicated with strdup.
	Also avoid allocation of memory.
	* src/passwd.c: Use SYSLOG instead of syslog.


Modified: upstream/trunk/ChangeLog
===================================================================
--- upstream/trunk/ChangeLog	2009-04-26 12:52:05 UTC (rev 2810)
+++ upstream/trunk/ChangeLog	2009-04-26 16:44:54 UTC (rev 2811)
@@ -1,3 +1,9 @@
+2009-04-26  Nicolas François  <nicolas.francois at centraliens.net>
+
+	* src/passwd.c: Do not freecon strings duplicated with strdup.
+	Also avoid allocation of memory.
+	* src/passwd.c: Use SYSLOG instead of syslog.
+
 2009-04-25  Miroslav Kure  <kurem at upcase.inf.upol.cz>
 
 	* po/cs.po: Updated to 352T7f8u

Modified: upstream/trunk/src/passwd.c
===================================================================
--- upstream/trunk/src/passwd.c	2009-04-26 12:52:05 UTC (rev 2810)
+++ upstream/trunk/src/passwd.c	2009-04-26 16:44:54 UTC (rev 2811)
@@ -991,17 +991,20 @@
 	   changing a password without entering the old one */
 	if ((is_selinux_enabled() > 0) && (getuid() == 0) &&
 	    (check_selinux_access (name, pw->pw_uid, PASSWD__PASSWD) != 0)) {
-		security_context_t user_context;
-		if (getprevcon(&user_context) < 0) {
-			user_context = strdup("Unknown user context");
+		security_context_t user_context = NULL;
+		const char *user = "Unknown user context";
+		if (getprevcon (&user_context) == 0) {
+			user = user_context;
 		}
-		syslog(LOG_ALERT,
-		       "%s is not authorized to change the password of %s",
-		       user_context, name);
+		SYSLOG ((LOG_ALERT,
+		         "%s is not authorized to change the password of %s",
+		         user, name));
 		fprintf(stderr,
 		        _("%s: %s is not authorized to change the password of %s\n"),
-		        Prog, user_context, name);
-		freecon(user_context);
+		        Prog, user, name);
+		if (NULL != user_context) {
+			freecon (user_context);
+		}
 		exit(1);
 	}
 #endif /* WITH_SELINUX */




More information about the Pkg-shadow-commits mailing list