提交 b9a3ef4c 编写于 作者: R Richard Levitte

ASN1_BIT_STRING_set_bit() didn't clear previously set bits

上级 1955b874
...@@ -4,14 +4,19 @@ ...@@ -4,14 +4,19 @@
Changes between 0.9.6 and 0.9.7 [xx XXX 2001] Changes between 0.9.6 and 0.9.7 [xx XXX 2001]
OpenSSL 0.9.6a/0.9.6b (bugfix releases, 5 Apr 2001 and 9 July 2001) OpenSSL 0.9.6a/0.9.6b/0.9.6c (bugfix releases, 5 Apr 2001, 9 July 2001
and OpenSSL 0.9.7 were developed in parallel, based on OpenSSL 0.9.6. and 21 Dec 2001) and OpenSSL 0.9.7 were developed in parallel, based
on OpenSSL 0.9.6.
Change log entries are tagged as follows: Change log entries are tagged as follows:
-) applies to 0.9.6a/0.9.6b/0.9.6c only -) applies to 0.9.6a/0.9.6b/0.9.6c only
*) applies to 0.9.6a/0.9.6b/0.9.6c and 0.9.7 *) applies to 0.9.6a/0.9.6b/0.9.6c and 0.9.7
+) applies to 0.9.7 only +) applies to 0.9.7 only
*) Have ASN1_BIT_STRING_set_bit() really clear a bit when the requested
value is 0.
[Richard Levitte]
+) Have the CHIL engine fork-safe (as defined by nCipher) and actually +) Have the CHIL engine fork-safe (as defined by nCipher) and actually
make the newer ENGINE framework commands for the CHIL engine work. make the newer ENGINE framework commands for the CHIL engine work.
[Toomas Kiisk <vix@cyber.ee> and Richard Levitte] [Toomas Kiisk <vix@cyber.ee> and Richard Levitte]
......
...@@ -172,6 +172,7 @@ int ASN1_BIT_STRING_set_bit(ASN1_BIT_STRING *a, int n, int value) ...@@ -172,6 +172,7 @@ int ASN1_BIT_STRING_set_bit(ASN1_BIT_STRING *a, int n, int value)
w=n/8; w=n/8;
v=1<<(7-(n&0x07)); v=1<<(7-(n&0x07));
iv= ~v; iv= ~v;
if (!value) v=0;
a->flags&= ~(ASN1_STRING_FLAG_BITS_LEFT|0x07); /* clear, set on write */ a->flags&= ~(ASN1_STRING_FLAG_BITS_LEFT|0x07); /* clear, set on write */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册