summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authortb <>2023-04-11 15:38:55 +0000
committertb <>2023-04-11 15:38:55 +0000
commitf9622124faa5bc560181521c8a4a2e50668c6b1d (patch)
tree193a239243a3c3fedfb5a05fb62306edec98eaf7 /src/lib
parent6fbee68fe7bb75a1431ced24d6195ff7a2b30f88 (diff)
downloadopenbsd-f9622124faa5bc560181521c8a4a2e50668c6b1d.tar.gz
openbsd-f9622124faa5bc560181521c8a4a2e50668c6b1d.tar.bz2
openbsd-f9622124faa5bc560181521c8a4a2e50668c6b1d.zip
Recommit jsing's r1.27 - portable is ready
Use htobe64() instead of testing BYTE_ORDER and then handrolling htobe64(). Thanks to tobhe for providing most of the fix via openiked-portable
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/libcrypto/sha/sha512.c27
1 files changed, 4 insertions, 23 deletions
diff --git a/src/lib/libcrypto/sha/sha512.c b/src/lib/libcrypto/sha/sha512.c
index d923a8e2af..a518c039ea 100644
--- a/src/lib/libcrypto/sha/sha512.c
+++ b/src/lib/libcrypto/sha/sha512.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: sha512.c,v 1.29 2023/04/11 13:03:03 tb Exp $ */ 1/* $OpenBSD: sha512.c,v 1.30 2023/04/11 15:38:55 tb Exp $ */
2/* ==================================================================== 2/* ====================================================================
3 * Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. 3 * Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved.
4 * 4 *
@@ -546,28 +546,9 @@ SHA512_Final(unsigned char *md, SHA512_CTX *c)
546 sha512_block_data_order(c, p, 1); 546 sha512_block_data_order(c, p, 1);
547 } 547 }
548 548
549 memset (p + n, 0, sizeof(c->u) - 16 - n); 549 memset(p + n, 0, sizeof(c->u) - 16 - n);
550#if BYTE_ORDER == BIG_ENDIAN 550 c->u.d[SHA_LBLOCK - 2] = htobe64(c->Nh);
551 c->u.d[SHA_LBLOCK - 2] = c->Nh; 551 c->u.d[SHA_LBLOCK - 1] = htobe64(c->Nl);
552 c->u.d[SHA_LBLOCK - 1] = c->Nl;
553#else
554 p[sizeof(c->u) - 1] = (unsigned char)(c->Nl);
555 p[sizeof(c->u) - 2] = (unsigned char)(c->Nl >> 8);
556 p[sizeof(c->u) - 3] = (unsigned char)(c->Nl >> 16);
557 p[sizeof(c->u) - 4] = (unsigned char)(c->Nl >> 24);
558 p[sizeof(c->u) - 5] = (unsigned char)(c->Nl >> 32);
559 p[sizeof(c->u) - 6] = (unsigned char)(c->Nl >> 40);
560 p[sizeof(c->u) - 7] = (unsigned char)(c->Nl >> 48);
561 p[sizeof(c->u) - 8] = (unsigned char)(c->Nl >> 56);
562 p[sizeof(c->u) - 9] = (unsigned char)(c->Nh);
563 p[sizeof(c->u) - 10] = (unsigned char)(c->Nh >> 8);
564 p[sizeof(c->u) - 11] = (unsigned char)(c->Nh >> 16);
565 p[sizeof(c->u) - 12] = (unsigned char)(c->Nh >> 24);
566 p[sizeof(c->u) - 13] = (unsigned char)(c->Nh >> 32);
567 p[sizeof(c->u) - 14] = (unsigned char)(c->Nh >> 40);
568 p[sizeof(c->u) - 15] = (unsigned char)(c->Nh >> 48);
569 p[sizeof(c->u) - 16] = (unsigned char)(c->Nh >> 56);
570#endif
571 552
572 sha512_block_data_order(c, p, 1); 553 sha512_block_data_order(c, p, 1);
573 554