svn commit: trunk/busybox/libbb

vda at busybox.net vda at busybox.net
Tue Jul 3 06:15:43 UTC 2007


Author: vda
Date: 2007-07-02 23:15:42 -0700 (Mon, 02 Jul 2007)
New Revision: 18995

Log:
correct_password: do not print "no shadow passwd..." message

function                                             old     new   delta
correct_password                                     204     191     -13
.rodata                                           129530  129466     -64
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-77)             Total: -77 bytes
   text    data     bss     dec     hex filename
 675984    2744   13968  692696   a91d8 busybox_old
 675908    2744   13968  692620   a918c busybox_unstripped



Modified:
   trunk/busybox/libbb/correct_password.c


Changeset:
Modified: trunk/busybox/libbb/correct_password.c
===================================================================
--- trunk/busybox/libbb/correct_password.c	2007-07-02 15:47:52 UTC (rev 18994)
+++ trunk/busybox/libbb/correct_password.c	2007-07-03 06:15:42 UTC (rev 18995)
@@ -40,12 +40,6 @@
 {
 	char *unencrypted, *encrypted;
 	const char *correct;
-#if ENABLE_FEATURE_SHADOWPASSWDS
-	/* Using _r function to avoid pulling in static buffers */
-	struct spwd spw;
-	struct spwd *result;
-	char buffer[256];
-#endif
 
 	/* fake salt. crypt() can choke otherwise. */
 	correct = "aa";
@@ -55,11 +49,14 @@
 	}
 	correct = pw->pw_passwd;
 #if ENABLE_FEATURE_SHADOWPASSWDS
-	if (LONE_CHAR(pw->pw_passwd, 'x') || LONE_CHAR(pw->pw_passwd, '*')) {
-		if (getspnam_r(pw->pw_name, &spw, buffer, sizeof(buffer), &result))
-			bb_error_msg("no valid shadow password, checking ordinary one");
-		else
+	if ((correct[0] == 'x' || correct[0] == '*') && !correct[1]) {
+		/* Using _r function to avoid pulling in static buffers */
+		struct spwd spw;
+		struct spwd *result;
+		char buffer[256];
+		if (getspnam_r(pw->pw_name, &spw, buffer, sizeof(buffer), &result) == 0)
 			correct = spw.sp_pwdp;
+		/* else: no valid shadow password, checking ordinary one */
 	}
 #endif
 




More information about the busybox-cvs mailing list