Bug 80220 - The last character is stripped from password if reading it from STDIN
The last character is stripped from password if reading it from STDIN
Product: Red Hat Linux
Classification: Retired
Component: passwd (Show other bugs)
All Linux
low Severity low
: ---
: ---
Assigned To: Tomas Mraz
Mike McLean
Depends On: 71152
  Show dependency treegraph
Reported: 2002-12-22 12:43 EST by Konstantin Andreev
Modified: 2005-10-31 17:00 EST (History)
1 user (show)

See Also:
Fixed In Version: passwd-0.68-10
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2005-03-25 04:31:31 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Konstantin Andreev 2002-12-22 12:43:54 EST
From Bugzilla Helper:
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 95)

Description of problem:
The passwd.c indicates that this is by design error:
	i = read(STDIN_FILENO, newPassword,
	 sizeof(newPassword) - 1);
	newPassword[i - 1] = '\0';

I can assume this was done to strip line feed character when reading password 
from one-string files. This is not a correct behaviour. It's a user 
responsibility to supply just the data the user wants.

For compatibility reasons you may correct this error by introducing new option 
like '--not-strip'. When this option applied, passwd should not strip the last 

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. Execute in bash:
echo -n boguspas | passwd --stdin someuser
2. Try to login as 'someuser'

Actual Results:  Can't login with 'boguspas', but can login with 'boguspa' 

Expected Results:  Login with 'boguspas' password.

Note You need to log in before you can comment on or make changes to this bug.