Browse Source

Make this code sane.

OPENBSD_2_1
downsj 28 years ago
parent
commit
743ff0ad8a
1 changed files with 4 additions and 3 deletions
  1. +4
    -3
      src/lib/libc/crypt/crypt.c

+ 4
- 3
src/lib/libc/crypt/crypt.c View File

@ -50,7 +50,7 @@
*/
#if defined(LIBC_SCCS) && !defined(lint)
static char rcsid[] = "$OpenBSD: crypt.c,v 1.7 1997/02/13 16:58:44 provos Exp $";
static char rcsid[] = "$OpenBSD: crypt.c,v 1.8 1997/03/27 23:26:28 downsj Exp $";
#endif /* LIBC_SCCS and not lint */
#include <sys/types.h>
@ -621,7 +621,7 @@ crypt(key, setting)
* and padding with zeros.
*/
q = (u_char *) keybuf;
while (q - (u_char *) keybuf - 8) {
while ((q - (u_char *) keybuf) <= sizeof(keybuf)) {
if (*q++ = *key << 1)
key++;
}
@ -650,7 +650,8 @@ crypt(key, setting)
* And XOR with the next 8 characters of the key.
*/
q = (u_char *) keybuf;
while (q - (u_char *) keybuf - 8 && *key)
while (((q - (u_char *) keybuf) <= sizeof(keybuf)) &&
*key)
*q++ ^= *key++ << 1;
if (des_setkey((u_char *) keybuf))


Loading…
Cancel
Save