diff options
Diffstat (limited to '')
-rw-r--r-- | src/lib/libcrypto/ct/ct_b64.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/lib/libcrypto/ct/ct_b64.c b/src/lib/libcrypto/ct/ct_b64.c index cc1fecbc30..bfc69a7da3 100644 --- a/src/lib/libcrypto/ct/ct_b64.c +++ b/src/lib/libcrypto/ct/ct_b64.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ct_b64.c,v 1.5 2021/12/18 16:34:52 tb Exp $ */ | 1 | /* $OpenBSD: ct_b64.c,v 1.6 2021/12/20 17:19:19 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Written by Rob Stradling (rob@comodo.com) and Stephen Henson | 3 | * Written by Rob Stradling (rob@comodo.com) and Stephen Henson |
4 | * (steve@openssl.org) for the OpenSSL project 2014. | 4 | * (steve@openssl.org) for the OpenSSL project 2014. |
@@ -64,6 +64,7 @@ | |||
64 | #include <openssl/err.h> | 64 | #include <openssl/err.h> |
65 | #include <openssl/evp.h> | 65 | #include <openssl/evp.h> |
66 | 66 | ||
67 | #include "bytestring.h" | ||
67 | #include "ct_local.h" | 68 | #include "ct_local.h" |
68 | 69 | ||
69 | /* | 70 | /* |
@@ -119,12 +120,12 @@ SCT_new_from_base64(unsigned char version, const char *logid_base64, | |||
119 | ct_log_entry_type_t entry_type, uint64_t timestamp, | 120 | ct_log_entry_type_t entry_type, uint64_t timestamp, |
120 | const char *extensions_base64, const char *signature_base64) | 121 | const char *extensions_base64, const char *signature_base64) |
121 | { | 122 | { |
122 | SCT *sct = SCT_new(); | ||
123 | unsigned char *dec = NULL; | 123 | unsigned char *dec = NULL; |
124 | const unsigned char* p = NULL; | ||
125 | int declen; | 124 | int declen; |
125 | SCT *sct; | ||
126 | CBS cbs; | ||
126 | 127 | ||
127 | if (sct == NULL) { | 128 | if ((sct = SCT_new()) == NULL) { |
128 | CTerror(ERR_R_MALLOC_FAILURE); | 129 | CTerror(ERR_R_MALLOC_FAILURE); |
129 | return NULL; | 130 | return NULL; |
130 | } | 131 | } |
@@ -161,8 +162,8 @@ SCT_new_from_base64(unsigned char version, const char *logid_base64, | |||
161 | goto err; | 162 | goto err; |
162 | } | 163 | } |
163 | 164 | ||
164 | p = dec; | 165 | CBS_init(&cbs, dec, declen); |
165 | if (o2i_SCT_signature(sct, &p, declen) <= 0) | 166 | if (!o2i_SCT_signature(sct, &cbs)) |
166 | goto err; | 167 | goto err; |
167 | free(dec); | 168 | free(dec); |
168 | dec = NULL; | 169 | dec = NULL; |