summaryrefslogtreecommitdiffstats
path: root/crypto/asn1
diff options
context:
space:
mode:
authorFdaSilvaYY <fdasilvayy@gmail.com>2016-03-06 21:26:46 +0100
committerFdaSilvaYY <fdasilvayy@gmail.com>2016-05-29 01:36:11 +0200
commit8e89e85f556f549f05d3b49f5408a217ac5e3700 (patch)
treea85bd926047f78b5b77d5043dcffaa2172cf4b4c /crypto/asn1
parent8640f21093ae02c838e183f04ea52f781b5c98d6 (diff)
Fix some missing inits
Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/997)
Diffstat (limited to 'crypto/asn1')
-rw-r--r--crypto/asn1/a_strnid.c1
-rw-r--r--crypto/asn1/bio_asn1.c7
-rw-r--r--crypto/asn1/bio_ndef.c1
-rw-r--r--crypto/asn1/tasn_scn.c8
4 files changed, 15 insertions, 2 deletions
diff --git a/crypto/asn1/a_strnid.c b/crypto/asn1/a_strnid.c
index 118e0cb388..188fa9ea26 100644
--- a/crypto/asn1/a_strnid.c
+++ b/crypto/asn1/a_strnid.c
@@ -213,6 +213,7 @@ static ASN1_STRING_TABLE *stable_get(int nid)
rv->mask = tmp->mask;
rv->flags = tmp->flags | STABLE_FLAGS_MALLOC;
} else {
+ rv->nid = NID_undef;
rv->minsize = -1;
rv->maxsize = -1;
rv->mask = 0;
diff --git a/crypto/asn1/bio_asn1.c b/crypto/asn1/bio_asn1.c
index 664b682726..f3d4776d72 100644
--- a/crypto/asn1/bio_asn1.c
+++ b/crypto/asn1/bio_asn1.c
@@ -96,6 +96,7 @@ const BIO_METHOD *BIO_f_asn1(void)
static int asn1_bio_new(BIO *b)
{
BIO_ASN1_BUF_CTX *ctx;
+
ctx = OPENSSL_malloc(sizeof(*ctx));
if (ctx == NULL)
return 0;
@@ -120,10 +121,12 @@ static int asn1_bio_init(BIO_ASN1_BUF_CTX *ctx, int size)
ctx->copylen = 0;
ctx->asn1_class = V_ASN1_UNIVERSAL;
ctx->asn1_tag = V_ASN1_OCTET_STRING;
- ctx->ex_buf = 0;
- ctx->ex_pos = 0;
+ ctx->ex_buf = NULL;
ctx->ex_len = 0;
+ ctx->ex_pos = 0;
ctx->state = ASN1_STATE_START;
+ ctx->prefix = ctx->prefix_free = ctx->suffix = ctx->suffix_free = NULL;
+ ctx->ex_arg = NULL;
return 1;
}
diff --git a/crypto/asn1/bio_ndef.c b/crypto/asn1/bio_ndef.c
index beeda9f89b..c43d2da4a4 100644
--- a/crypto/asn1/bio_ndef.c
+++ b/crypto/asn1/bio_ndef.c
@@ -90,6 +90,7 @@ BIO *BIO_new_NDEF(BIO *out, ASN1_VALUE *val, const ASN1_ITEM *it)
ndef_aux->ndef_bio = sarg.ndef_bio;
ndef_aux->boundary = sarg.boundary;
ndef_aux->out = out;
+ ndef_aux->derbuf = NULL;
BIO_ctrl(asn_bio, BIO_C_SET_EX_ARG, 0, ndef_aux);
diff --git a/crypto/asn1/tasn_scn.c b/crypto/asn1/tasn_scn.c
index 1bdd2dfec7..7062e2355f 100644
--- a/crypto/asn1/tasn_scn.c
+++ b/crypto/asn1/tasn_scn.c
@@ -25,12 +25,20 @@
ASN1_SCTX *ASN1_SCTX_new(int (*scan_cb) (ASN1_SCTX *ctx))
{
ASN1_SCTX *ret;
+
ret = OPENSSL_malloc(sizeof(*ret));
if (ret == NULL) {
ASN1err(ASN1_F_ASN1_SCTX_NEW, ERR_R_MALLOC_FAILURE);
return NULL;
}
+ ret->it = ret->tt = NULL;
+ ret->flags = 0;
+ ret->skidx = ret->depth = 0;
+ ret->sname = ret->fname = NULL;
+ ret->prim_type = 0;
+ ret->field = NULL;
ret->scan_cb = scan_cb;
+ ret->app_data = NULL;
return ret;
}