diff options
author | Parménides GV <parmegv@sdf.org> | 2014-12-12 18:02:40 +0100 |
---|---|---|
committer | Parménides GV <parmegv@sdf.org> | 2014-12-12 18:04:08 +0100 |
commit | 97aded26654ede8204a313dd6967b678a72a2a10 (patch) | |
tree | 5c519d75774eff664df41881777cbae171caddf5 /app/openssl/crypto/ocsp/ocsp_ht.c | |
parent | 0e7e4005460964cf8dac080e3d99e1df2a1bdc4d (diff) |
Updated ics-openvpn to last rev 14 Nov 2014.
Material design!
It still doesn't run properly on my tablet, openvpn keeps getting down
and exiting.
Diffstat (limited to 'app/openssl/crypto/ocsp/ocsp_ht.c')
-rw-r--r-- | app/openssl/crypto/ocsp/ocsp_ht.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/app/openssl/crypto/ocsp/ocsp_ht.c b/app/openssl/crypto/ocsp/ocsp_ht.c index af5fc166..09eb855d 100644 --- a/app/openssl/crypto/ocsp/ocsp_ht.c +++ b/app/openssl/crypto/ocsp/ocsp_ht.c @@ -158,6 +158,8 @@ OCSP_REQ_CTX *OCSP_sendreq_new(BIO *io, char *path, OCSP_REQUEST *req, OCSP_REQ_CTX *rctx; rctx = OPENSSL_malloc(sizeof(OCSP_REQ_CTX)); + if (!rctx) + return NULL; rctx->state = OHS_ERROR; rctx->mem = BIO_new(BIO_s_mem()); rctx->io = io; @@ -167,18 +169,21 @@ OCSP_REQ_CTX *OCSP_sendreq_new(BIO *io, char *path, OCSP_REQUEST *req, else rctx->iobuflen = OCSP_MAX_LINE_LEN; rctx->iobuf = OPENSSL_malloc(rctx->iobuflen); - if (!rctx->iobuf) - return 0; + if (!rctx->mem || !rctx->iobuf) + goto err; if (!path) path = "/"; if (BIO_printf(rctx->mem, post_hdr, path) <= 0) - return 0; + goto err; if (req && !OCSP_REQ_CTX_set1_req(rctx, req)) - return 0; + goto err; return rctx; + err: + OCSP_REQ_CTX_free(rctx); + return NULL; } /* Parse the HTTP response. This will look like this: @@ -490,6 +495,9 @@ OCSP_RESPONSE *OCSP_sendreq_bio(BIO *b, char *path, OCSP_REQUEST *req) ctx = OCSP_sendreq_new(b, path, req, -1); + if (!ctx) + return NULL; + do { rv = OCSP_sendreq_nbio(&resp, ctx); |