diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | umac.c | 8 |
2 files changed, 10 insertions, 4 deletions
@@ -140,6 +140,10 @@ | |||
140 | ignoring SIGPIPE by adding a new channel message (EOW) that signals | 140 | ignoring SIGPIPE by adding a new channel message (EOW) that signals |
141 | the peer that we're not interested in any data it might send. | 141 | the peer that we're not interested in any data it might send. |
142 | fixes bz #85; discussion, debugging and ok djm@ | 142 | fixes bz #85; discussion, debugging and ok djm@ |
143 | - pvalchev@cvs.openbsd.org 2008/05/12 20:52:20 | ||
144 | [umac.c] | ||
145 | Ensure nh_result lies on a 64-bit boundary (fixes warnings observed | ||
146 | on Itanium on Linux); from Dale Talcott (bug #1462); ok djm@ | ||
143 | 147 | ||
144 | 20080403 | 148 | 20080403 |
145 | - (djm) [openbsd-compat/bsd-poll.c] Include stdlib.h to avoid compile- | 149 | - (djm) [openbsd-compat/bsd-poll.c] Include stdlib.h to avoid compile- |
@@ -4000,4 +4004,4 @@ | |||
4000 | OpenServer 6 and add osr5bigcrypt support so when someone migrates | 4004 | OpenServer 6 and add osr5bigcrypt support so when someone migrates |
4001 | passwords between UnixWare and OpenServer they will still work. OK dtucker@ | 4005 | passwords between UnixWare and OpenServer they will still work. OK dtucker@ |
4002 | 4006 | ||
4003 | $Id: ChangeLog,v 1.4930 2008/05/19 06:06:47 djm Exp $ | 4007 | $Id: ChangeLog,v 1.4931 2008/05/19 06:07:45 djm Exp $ |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: umac.c,v 1.2 2007/09/12 19:39:19 stevesk Exp $ */ | 1 | /* $OpenBSD: umac.c,v 1.3 2008/05/12 20:52:20 pvalchev Exp $ */ |
2 | /* ----------------------------------------------------------------------- | 2 | /* ----------------------------------------------------------------------- |
3 | * | 3 | * |
4 | * umac.c -- C Implementation UMAC Message Authentication | 4 | * umac.c -- C Implementation UMAC Message Authentication |
@@ -1043,7 +1043,8 @@ static int uhash_update(uhash_ctx_t ctx, u_char *input, long len) | |||
1043 | */ | 1043 | */ |
1044 | { | 1044 | { |
1045 | UWORD bytes_hashed, bytes_remaining; | 1045 | UWORD bytes_hashed, bytes_remaining; |
1046 | UINT8 nh_result[STREAMS*sizeof(UINT64)]; | 1046 | UINT64 result_buf[STREAMS]; |
1047 | UINT8 *nh_result = (UINT8 *)&result_buf; | ||
1047 | 1048 | ||
1048 | if (ctx->msg_len + len <= L1_KEY_LEN) { | 1049 | if (ctx->msg_len + len <= L1_KEY_LEN) { |
1049 | nh_update(&ctx->hash, (UINT8 *)input, len); | 1050 | nh_update(&ctx->hash, (UINT8 *)input, len); |
@@ -1095,7 +1096,8 @@ static int uhash_update(uhash_ctx_t ctx, u_char *input, long len) | |||
1095 | static int uhash_final(uhash_ctx_t ctx, u_char *res) | 1096 | static int uhash_final(uhash_ctx_t ctx, u_char *res) |
1096 | /* Incorporate any pending data, pad, and generate tag */ | 1097 | /* Incorporate any pending data, pad, and generate tag */ |
1097 | { | 1098 | { |
1098 | UINT8 nh_result[STREAMS*sizeof(UINT64)]; | 1099 | UINT64 result_buf[STREAMS]; |
1100 | UINT8 *nh_result = (UINT8 *)&result_buf; | ||
1099 | 1101 | ||
1100 | if (ctx->msg_len > L1_KEY_LEN) { | 1102 | if (ctx->msg_len > L1_KEY_LEN) { |
1101 | if (ctx->msg_len % L1_KEY_LEN) { | 1103 | if (ctx->msg_len % L1_KEY_LEN) { |