diff options
-rw-r--r-- | libbb/pw_encrypt_des.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libbb/pw_encrypt_des.c b/libbb/pw_encrypt_des.c index 52548d623..c8e02ddff 100644 --- a/libbb/pw_encrypt_des.c +++ b/libbb/pw_encrypt_des.c | |||
@@ -778,8 +778,10 @@ des_crypt(struct des_ctx *ctx, char output[DES_OUT_BUFSIZE], | |||
778 | to64_msb_first(output + 2, (r0 >> 8)); | 778 | to64_msb_first(output + 2, (r0 >> 8)); |
779 | /* bits 7..0 of r0 and 31..16 of r1 */ | 779 | /* bits 7..0 of r0 and 31..16 of r1 */ |
780 | to64_msb_first(output + 6, (r0 << 16) | (r1 >> 16)); | 780 | to64_msb_first(output + 6, (r0 << 16) | (r1 >> 16)); |
781 | /* (bits 15..0 of r1 + 00) and NUL byte */ | 781 | /* bits 15..0 of r1 and two zero bits (plus extra zero byte) */ |
782 | to64_msb_first(output + 10, (r1 << 8)); | 782 | to64_msb_first(output + 10, (r1 << 8)); |
783 | /* extra zero byte is encoded as '.', fixing it */ | ||
784 | output[13] = '\0'; | ||
783 | #endif | 785 | #endif |
784 | 786 | ||
785 | return output; | 787 | return output; |