Prepare for 0.9.8ze-dev
[oweals/openssl.git] / crypto / asn1 / tasn_enc.c
index 2721f904a633e9e976d577a347846a35483d0747..b3687f9f1c5177d2fe80143a1ae4d5a434fd2b00 100644 (file)
@@ -453,9 +453,14 @@ static int asn1_set_seq_out(STACK_OF(ASN1_VALUE) *sk, unsigned char **out,
                        {
                        derlst = OPENSSL_malloc(sk_ASN1_VALUE_num(sk)
                                                * sizeof(*derlst));
+                       if (!derlst)
+                               return 0;
                        tmpdat = OPENSSL_malloc(skcontlen);
-                       if (!derlst || !tmpdat)
+                       if (!tmpdat)
+                               {
+                               OPENSSL_free(derlst);
                                return 0;
+                               }
                        }
                }
        /* If not sorting just output each item */