]> code.ossystems Code Review - meta-freescale.git/blob
3e93fe4e22c94503df6f9cccbc39088d36a6e797
[meta-freescale.git] /
1 openssl: avoid NULL pointer dereference in dh_pub_encode()/dsa_pub_encode()
2
3 We should avoid accessing the pointer if ASN1_STRING_new()
4 allocates memory failed.
5
6 Upstream-Status: Submitted
7 http://www.mail-archive.com/openssl-dev@openssl.org/msg32859.html
8
9 Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com>
10 ---
11 --- a/crypto/dh/dh_ameth.c
12 +++ b/crypto/dh/dh_ameth.c
13 @@ -139,6 +139,12 @@
14         dh=pkey->pkey.dh;
15  
16         str = ASN1_STRING_new();
17 +       if (!str)
18 +               {
19 +               DHerr(DH_F_DH_PUB_ENCODE, ERR_R_MALLOC_FAILURE);
20 +               goto err;
21 +               }
22 +
23         str->length = i2d_DHparams(dh, &str->data);
24         if (str->length <= 0)
25                 {
26 --- a/crypto/dsa/dsa_ameth.c
27 +++ b/crypto/dsa/dsa_ameth.c
28 @@ -148,6 +148,11 @@
29                 {
30                 ASN1_STRING *str;
31                 str = ASN1_STRING_new();
32 +               if (!str)
33 +                       {
34 +                       DSAerr(DSA_F_DSA_PUB_ENCODE, ERR_R_MALLOC_FAILURE);
35 +                       goto err;
36 +                       }
37                 str->length = i2d_DSAparams(dsa, &str->data);
38                 if (str->length <= 0)
39                         {