summaryrefslogtreecommitdiffstats
path: root/ssl
diff options
context:
space:
mode:
authorBodo Möller <bodo@openssl.org>2001-04-03 13:50:30 +0000
committerBodo Möller <bodo@openssl.org>2001-04-03 13:50:30 +0000
commit1876cc32ae49de85d99bae62de22534b00939145 (patch)
tree9aa27e925c58ada50d9af44a78402a770b982892 /ssl
parent4e2a08ddd47ccac15aa8c1a4700cfb552e9d1734 (diff)
This change should be suitable as a workaround for the Solaris x86
compiler bug reported in <01032110293775.22278@weba3.iname.net> (the '++seq[i]' condition is evaluated as 256 rather than 0 when the previous value is 255).
Diffstat (limited to 'ssl')
-rw-r--r--ssl/s3_enc.c5
-rw-r--r--ssl/t1_enc.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/ssl/s3_enc.c b/ssl/s3_enc.c
index ad367c0e74..9e442a1f1b 100644
--- a/ssl/s3_enc.c
+++ b/ssl/s3_enc.c
@@ -504,7 +504,10 @@ int ssl3_mac(SSL *ssl, unsigned char *md, int send)
EVP_DigestFinal( &md_ctx,md,&md_size);
for (i=7; i>=0; i--)
- if (++seq[i]) break;
+ {
+ ++seq[i];
+ if (seq[i] != 0) break;
+ }
return(md_size);
}
diff --git a/ssl/t1_enc.c b/ssl/t1_enc.c
index 26496d709d..3077e9b9b9 100644
--- a/ssl/t1_enc.c
+++ b/ssl/t1_enc.c
@@ -643,7 +643,10 @@ printf("rec=");
#endif
for (i=7; i>=0; i--)
- if (++seq[i]) break;
+ {
+ ++seq[i];
+ if (seq[i] != 0) break;
+ }
#ifdef TLS_DEBUG
{unsigned int z; for (z=0; z<md_size; z++) printf("%02X ",md[z]); printf("\n"); }