diff options
author | minfrin <minfrin@13f79535-47bb-0310-9956-ffa450edef68> | 2020-03-16 00:34:02 +0000 |
---|---|---|
committer | minfrin <minfrin@13f79535-47bb-0310-9956-ffa450edef68> | 2020-03-16 00:34:02 +0000 |
commit | 5cb6ea0ce67bfa246bbe2fb9e0b53240f5baf0f3 (patch) | |
tree | 667bed713ee247716d7dcad70e8136caf190aa51 | |
parent | f5debaa74ace7cc719d0c72fc9d75a62e6f0431c (diff) | |
download | libapr-5cb6ea0ce67bfa246bbe2fb9e0b53240f5baf0f3.tar.gz |
apr_jose: Fix a the case where existing memory buffers were used, but they
were not initialised.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@1875220 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | jose/apr_jose.c | 60 |
1 files changed, 20 insertions, 40 deletions
diff --git a/jose/apr_jose.c b/jose/apr_jose.c index f48554b54..2f5384074 100644 --- a/jose/apr_jose.c +++ b/jose/apr_jose.c @@ -42,11 +42,9 @@ APR_DECLARE(apr_jose_t *) apr_jose_data_make(apr_jose_t *jose, const char *typ, const unsigned char *in, apr_size_t inlen, apr_pool_t *pool) { + jose = apr_jose_make(jose, APR_JOSE_TYPE_DATA, pool); if (!jose) { - jose = apr_jose_make(jose, APR_JOSE_TYPE_DATA, pool); - if (!jose) { - return NULL; - } + return NULL; } jose->typ = typ; @@ -64,11 +62,9 @@ APR_DECLARE(apr_jose_t *) apr_jose_json_make(apr_jose_t *jose, const char *cty, apr_json_value_t *json, apr_pool_t *pool) { + jose = apr_jose_make(jose, APR_JOSE_TYPE_JSON, pool); if (!jose) { - jose = apr_jose_make(jose, APR_JOSE_TYPE_JSON, pool); - if (!jose) { - return NULL; - } + return NULL; } jose->cty = cty; @@ -141,11 +137,9 @@ APR_DECLARE(apr_jose_t *) apr_jose_jwe_make(apr_jose_t *jose, { apr_jose_jwe_t *jwe; + jose = apr_jose_make(jose, APR_JOSE_TYPE_JWE, pool); if (!jose) { - jose = apr_jose_make(jose, APR_JOSE_TYPE_JWE, pool); - if (!jose) { - return NULL; - } + return NULL; } jose->cty = payload->cty; @@ -170,11 +164,9 @@ APR_DECLARE(apr_jose_t *) apr_jose_jwe_json_make(apr_jose_t *jose, { apr_jose_jwe_t *jwe; + jose = apr_jose_make(jose, APR_JOSE_TYPE_JWE_JSON, pool); if (!jose) { - jose = apr_jose_make(jose, APR_JOSE_TYPE_JWE_JSON, pool); - if (!jose) { - return NULL; - } + return NULL; } if (payload) { @@ -199,11 +191,9 @@ APR_DECLARE(apr_jose_t *) apr_jose_jwk_make(apr_jose_t *jose, { apr_jose_jwk_t *jwk; + jose = apr_jose_make(jose, APR_JOSE_TYPE_JWK, pool); if (!jose) { - jose = apr_jose_make(jose, APR_JOSE_TYPE_JWK, pool); - if (!jose) { - return NULL; - } + return NULL; } jwk = jose->jose.jwk = apr_palloc(pool, sizeof(apr_jose_jwk_t)); @@ -221,11 +211,9 @@ APR_DECLARE(apr_jose_t *) apr_jose_jwks_make(apr_jose_t *jose, { apr_jose_jwks_t *jwks; + jose = apr_jose_make(jose, APR_JOSE_TYPE_JWKS, pool); if (!jose) { - jose = apr_jose_make(jose, APR_JOSE_TYPE_JWKS, pool); - if (!jose) { - return NULL; - } + return NULL; } jwks = jose->jose.jwks = apr_palloc(pool, sizeof(apr_jose_jwks_t)); @@ -244,11 +232,9 @@ APR_DECLARE(apr_jose_t *) apr_jose_jws_make(apr_jose_t *jose, { apr_jose_jws_t *jws; + jose = apr_jose_make(jose, APR_JOSE_TYPE_JWS, pool); if (!jose) { - jose = apr_jose_make(jose, APR_JOSE_TYPE_JWS, pool); - if (!jose) { - return NULL; - } + return NULL; } if (payload) { @@ -273,11 +259,9 @@ APR_DECLARE(apr_jose_t *) apr_jose_jws_json_make(apr_jose_t *jose, { apr_jose_jws_t *jws; + jose = apr_jose_make(jose, APR_JOSE_TYPE_JWS_JSON, pool); if (!jose) { - jose = apr_jose_make(jose, APR_JOSE_TYPE_JWS_JSON, pool); - if (!jose) { - return NULL; - } + return NULL; } if (payload) { @@ -301,11 +285,9 @@ APR_DECLARE(apr_jose_t *) apr_jose_jwt_make(apr_jose_t *jose, apr_json_value_t * { apr_jose_jwt_t *jwt; + jose = apr_jose_make(jose, APR_JOSE_TYPE_JWT, pool); if (!jose) { - jose = apr_jose_make(jose, APR_JOSE_TYPE_JWT, pool); - if (!jose) { - return NULL; - } + return NULL; } jose->cty = "JWT"; @@ -324,11 +306,9 @@ APR_DECLARE(apr_jose_t *) apr_jose_text_make(apr_jose_t *jose, const char *cty, const char *in, apr_size_t inlen, apr_pool_t *pool) { + jose = apr_jose_make(jose, APR_JOSE_TYPE_TEXT, pool); if (!jose) { - jose = apr_jose_make(jose, APR_JOSE_TYPE_TEXT, pool); - if (!jose) { - return NULL; - } + return NULL; } jose->cty = cty; |