From: Denys Vlasenko Date: Fri, 1 May 2009 01:41:25 +0000 (+0200) Subject: des encrypt: fix goof with NUL byte added at the end as '.' X-Git-Tag: 1_15_0~267 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=44d1989997a9546d587921cf792f68040fac882c;p=oweals%2Fbusybox.git des encrypt: fix goof with NUL byte added at the end as '.' --- 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], to64_msb_first(output + 2, (r0 >> 8)); /* bits 7..0 of r0 and 31..16 of r1 */ to64_msb_first(output + 6, (r0 << 16) | (r1 >> 16)); - /* (bits 15..0 of r1 + 00) and NUL byte */ + /* bits 15..0 of r1 and two zero bits (plus extra zero byte) */ to64_msb_first(output + 10, (r1 << 8)); + /* extra zero byte is encoded as '.', fixing it */ + output[13] = '\0'; #endif return output;