ed(1): Cleanups for the DES mode.

- Use arc4random_uniform(3).
- Prevent a segmentation fault when ed receives a signal
  while being in getpass(). [1]

Obtained from:	OpenBSD [1] (CVS Rev. 1.15)
MFC after:	2 weeks
This commit is contained in:
Pedro F. Giffuni 2016-05-20 19:10:29 +00:00
parent d28b40c8d9
commit d972b6d256
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=300322

View File

@ -99,7 +99,7 @@ init_des_cipher(void)
/* initialize the padding vector */
for (i = 0; i < 8; i++)
pvec[i] = (char) (arc4random() % 256);
pvec[i] = (char)arc4random_uniform(256);
#endif
}
@ -164,7 +164,7 @@ get_keyword(void)
/*
* get the key
*/
if (*(p = getpass("Enter key: "))) {
if ((p = getpass("Enter key: ")) != NULL && *p != '\0') {
/*
* copy it, nul-padded, into the key area