aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/store
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2003-06-18 07:12:28 +0000
committerRichard Levitte <levitte@openssl.org>2003-06-18 07:12:28 +0000
commitd97322f0e6583d72f18ccdef6ebb3d8942a63c19 (patch)
tree51dbaa797a9dd8b8c70cd174853c4a61d758cf46 /crypto/store
parentb52d512dfa04ec44cb58ec1efa6a230a4693b0b0 (diff)
downloadopenssl-d97322f0e6583d72f18ccdef6ebb3d8942a63c19.tar.gz
Missing string and potential memory leaks.
Notified by Goetz Babin-Ebell <goetz@shomitefo.de>
Diffstat (limited to 'crypto/store')
-rw-r--r--crypto/store/str_lib.c36
1 files changed, 22 insertions, 14 deletions
diff --git a/crypto/store/str_lib.c b/crypto/store/str_lib.c
index a8bd531325..5e6e424ba3 100644
--- a/crypto/store/str_lib.c
+++ b/crypto/store/str_lib.c
@@ -69,7 +69,8 @@ const char * const STORE_object_type_string[STORE_OBJECT_TYPE_NUM+1] =
"X.509 CRL",
"Private Key",
"Public Key",
- "Number"
+ "Number",
+ "Arbitrary Data"
};
const int STORE_param_sizes[STORE_PARAM_TYPE_NUM+1] =
@@ -101,19 +102,20 @@ STORE *STORE_new_method(const STORE_METHOD *method)
{
STORE *ret;
- ret=(STORE *)OPENSSL_malloc(sizeof(STORE));
- if (ret == NULL)
+ if (method == NULL)
{
- STOREerr(STORE_F_STORE_NEW_METHOD,ERR_R_MALLOC_FAILURE);
+ STOREerr(STORE_F_STORE_NEW_METHOD,ERR_R_PASSED_NULL_PARAMETER);
return NULL;
}
- if (method == NULL)
+
+ ret=(STORE *)OPENSSL_malloc(sizeof(STORE));
+ if (ret == NULL)
{
- STOREerr(STORE_F_STORE_NEW_METHOD,ERR_R_PASSED_NULL_PARAMETER);
+ STOREerr(STORE_F_STORE_NEW_METHOD,ERR_R_MALLOC_FAILURE);
return NULL;
}
- else
- ret->meth=method;
+
+ ret->meth=method;
CRYPTO_new_ex_data(CRYPTO_EX_INDEX_STORE, ret, &ret->ex_data);
if (ret->meth->init && !ret->meth->init(ret))
@@ -261,12 +263,13 @@ X509 *STORE_get_certificate(STORE *s, OPENSSL_ITEM attributes[],
int STORE_store_certificate(STORE *s, X509 *data, OPENSSL_ITEM attributes[],
OPENSSL_ITEM parameters[])
{
- STORE_OBJECT *object = STORE_OBJECT_new();
+ STORE_OBJECT *object;
int i;
check_store(s,STORE_F_STORE_CERTIFICATE,
store_object,STORE_R_NO_STORE_OBJECT_FUNCTION);
+ object = STORE_OBJECT_new();
if (!object)
{
STOREerr(STORE_F_STORE_CERTIFICATE,
@@ -452,12 +455,13 @@ EVP_PKEY *STORE_get_private_key(STORE *s, OPENSSL_ITEM attributes[],
int STORE_store_private_key(STORE *s, EVP_PKEY *data, OPENSSL_ITEM attributes[],
OPENSSL_ITEM parameters[])
{
- STORE_OBJECT *object = STORE_OBJECT_new();
+ STORE_OBJECT *object;
int i;
check_store(s,STORE_F_STORE_PRIVATE_KEY,
store_object,STORE_R_NO_STORE_OBJECT_FUNCTION);
+ object = STORE_OBJECT_new();
if (!object)
{
STOREerr(STORE_F_STORE_PRIVATE_KEY,
@@ -628,12 +632,13 @@ EVP_PKEY *STORE_get_public_key(STORE *s, OPENSSL_ITEM attributes[],
int STORE_store_public_key(STORE *s, EVP_PKEY *data, OPENSSL_ITEM attributes[],
OPENSSL_ITEM parameters[])
{
- STORE_OBJECT *object = STORE_OBJECT_new();
+ STORE_OBJECT *object;
int i;
check_store(s,STORE_F_STORE_PUBLIC_KEY,
store_object,STORE_R_NO_STORE_OBJECT_FUNCTION);
+ object = STORE_OBJECT_new();
if (!object)
{
STOREerr(STORE_F_STORE_PUBLIC_KEY,
@@ -830,12 +835,13 @@ X509_CRL *STORE_get_crl(STORE *s, OPENSSL_ITEM attributes[],
int STORE_store_crl(STORE *s, X509_CRL *data, OPENSSL_ITEM attributes[],
OPENSSL_ITEM parameters[])
{
- STORE_OBJECT *object = STORE_OBJECT_new();
+ STORE_OBJECT *object;
int i;
check_store(s,STORE_F_STORE_CRL,
store_object,STORE_R_NO_STORE_OBJECT_FUNCTION);
+ object = STORE_OBJECT_new();
if (!object)
{
STOREerr(STORE_F_STORE_CRL,
@@ -953,12 +959,13 @@ int STORE_list_crl_endp(STORE *s, void *handle)
int STORE_store_number(STORE *s, BIGNUM *data, OPENSSL_ITEM attributes[],
OPENSSL_ITEM parameters[])
{
- STORE_OBJECT *object = STORE_OBJECT_new();
+ STORE_OBJECT *object;
int i;
check_store(s,STORE_F_STORE_NUMBER,
store_object,STORE_R_NO_STORE_OBJECT_NUMBER_FUNCTION);
+ object = STORE_OBJECT_new();
if (!object)
{
STOREerr(STORE_F_STORE_NUMBER,
@@ -1024,12 +1031,13 @@ int STORE_delete_number(STORE *s, OPENSSL_ITEM attributes[],
int STORE_store_arbitrary(STORE *s, BUF_MEM *data, OPENSSL_ITEM attributes[],
OPENSSL_ITEM parameters[])
{
- STORE_OBJECT *object = STORE_OBJECT_new();
+ STORE_OBJECT *object;
int i;
check_store(s,STORE_F_STORE_ARBITRARY,
store_object,STORE_R_NO_STORE_OBJECT_ARBITRARY_FUNCTION);
+ object = STORE_OBJECT_new();
if (!object)
{
STOREerr(STORE_F_STORE_ARBITRARY,