[pkg-opensc-commit] [libp11] 35/86: Further dynamic memory allocation cleanup

Eric Dorland eric at moszumanska.debian.org
Sun Jul 24 21:40:20 UTC 2016


This is an automated email from the git hooks/post-receive script.

eric pushed a commit to branch master
in repository libp11.

commit a36a69413a5444dfb4f2d9f7aa83197ef754dd2b
Author: Michał Trojnara <Michal.Trojnara at stunnel.org>
Date:   Wed Feb 3 16:41:58 2016 +0100

    Further dynamic memory allocation cleanup
---
 src/eng_parse.c  | 15 ++++++++-------
 src/libp11-int.h |  2 --
 src/p11_cert.c   |  2 +-
 src/p11_key.c    |  2 +-
 src/p11_load.c   |  2 +-
 src/p11_misc.c   | 14 --------------
 src/p11_slot.c   |  2 +-
 7 files changed, 12 insertions(+), 27 deletions(-)

diff --git a/src/eng_parse.c b/src/eng_parse.c
index db5279f..3f2a232 100644
--- a/src/eng_parse.c
+++ b/src/eng_parse.c
@@ -147,7 +147,7 @@ int parse_slot_id_string(const char *slot_id, int *slot,
 	/* label_<label>, slot is undefined */
 	if (strncmp(slot_id, "label_", 6) == 0) {
 		*slot = -1;
-		*label = strdup(slot_id + 6);
+		*label = OPENSSL_strdup(slot_id + 6);
 		return *label != NULL;
 	}
 
@@ -197,7 +197,7 @@ int parse_slot_id_string(const char *slot_id, int *slot,
 	/* ... or "label_" */
 	if (strncmp(slot_id + i, "label_", 6) == 0) {
 		*slot = n;
-		return (*label = strdup(slot_id + i + 6)) != NULL;
+		return (*label = OPENSSL_strdup(slot_id + i + 6)) != NULL;
 	}
 
 	fprintf(stderr, "Could not parse string!\n");
@@ -215,7 +215,7 @@ static int parse_uri_attr(const char *attr, int attrlen, unsigned char **field,
 		out = *field;
 		max = *field_len;
 	} else {
-		out = malloc(attrlen + 1);
+		out = OPENSSL_malloc(attrlen + 1);
 		if (out == NULL)
 			return 0;
 		max = attrlen + 1;
@@ -254,7 +254,7 @@ static int parse_uri_attr(const char *attr, int attrlen, unsigned char **field,
 		}
 	} else {
 		if (field_len == NULL)
-			free(out);
+			OPENSSL_free(out);
 	}
 
 	return ret;
@@ -269,11 +269,12 @@ int parse_pkcs11_uri(const char *uri, PKCS11_TOKEN **p_tok,
 	const char *end, *p;
 	int rv = 1, pin_set = 0;
 
-	tok = calloc(1, sizeof(*tok));
+	tok = OPENSSL_malloc(sizeof(PKCS11_TOKEN));
 	if (tok == NULL) {
 		fprintf(stderr, "Could not allocate memory for token info\n");
 		return 0;
 	}
+	memset(tok, 0, sizeof(PKCS11_TOKEN));
 
 	/* We are only ever invoked if the string starts with 'pkcs11:' */
 	end = uri + 6;
@@ -328,9 +329,9 @@ int parse_pkcs11_uri(const char *uri, PKCS11_TOKEN **p_tok,
 		*label = newlabel;
 		*p_tok = tok;
 	} else {
-		free(tok);
+		OPENSSL_free(tok);
 		tok = NULL;
-		free(newlabel);
+		OPENSSL_free(newlabel);
 	}
 
 	return rv;
diff --git a/src/libp11-int.h b/src/libp11-int.h
index 11a20c9..a2c0533 100644
--- a/src/libp11-int.h
+++ b/src/libp11-int.h
@@ -199,8 +199,6 @@ extern void pkcs11_addattr_bn(CK_ATTRIBUTE_PTR, int, const BIGNUM *);
 extern void pkcs11_addattr_obj(CK_ATTRIBUTE_PTR, int, pkcs11_i2d_fn, void *);
 extern void pkcs11_zap_attrs(CK_ATTRIBUTE_PTR, unsigned int);
 
-extern void *memdup(const void *, size_t);
-
 int PKCS11_reopen_session(PKCS11_SLOT * slot);
 int PKCS11_relogin(PKCS11_SLOT * slot);
 
diff --git a/src/p11_cert.c b/src/p11_cert.c
index c6f0f8b..fc3a710 100644
--- a/src/p11_cert.c
+++ b/src/p11_cert.c
@@ -179,7 +179,7 @@ static int pkcs11_init_cert(PKCS11_CTX * ctx, PKCS11_TOKEN * token,
 	cpriv->parent = token;
 
 	if (!pkcs11_getattr_s(token, obj, CKA_LABEL, label, sizeof(label)))
-		cert->label = BUF_strdup(label);
+		cert->label = OPENSSL_strdup(label);
 	size = 0;
 	if (!pkcs11_getattr_var(token, obj, CKA_VALUE, NULL, &size) && size > 0) {
 		data = OPENSSL_malloc(size);
diff --git a/src/p11_key.c b/src/p11_key.c
index e26412c..c2fa5ed 100644
--- a/src/p11_key.c
+++ b/src/p11_key.c
@@ -484,7 +484,7 @@ static int pkcs11_init_key(PKCS11_CTX * ctx, PKCS11_TOKEN * token,
 	kpriv->parent = token;
 
 	if (!pkcs11_getattr_s(token, obj, CKA_LABEL, label, sizeof(label)))
-		key->label = BUF_strdup(label);
+		key->label = OPENSSL_strdup(label);
 	key->id_len = sizeof(id);
 	if (!pkcs11_getattr_var(token, obj, CKA_ID, id, &key->id_len)) {
 		key->id = OPENSSL_malloc(key->id_len);
diff --git a/src/p11_load.c b/src/p11_load.c
index 096b5c8..93a7427 100644
--- a/src/p11_load.c
+++ b/src/p11_load.c
@@ -61,7 +61,7 @@ void PKCS11_CTX_init_args(PKCS11_CTX * ctx, const char *init_args)
 	if (cpriv->init_args) {
 		OPENSSL_free(cpriv->init_args);
 	}
-	cpriv->init_args = init_args ? BUF_strdup(init_args) : NULL;
+	cpriv->init_args = init_args ? OPENSSL_strdup(init_args) : NULL;
 }
 
 /*
diff --git a/src/p11_misc.c b/src/p11_misc.c
index 36e4396..04ae04f 100644
--- a/src/p11_misc.c
+++ b/src/p11_misc.c
@@ -40,20 +40,6 @@ char *pkcs11_strdup(char *mem, size_t size)
 }
 
 /*
- * Dup memory
- */
-void *memdup(const void *src, size_t size)
-{
-	void *dst;
-
-	dst = OPENSSL_malloc(size);
-	if (dst == NULL)
-		return NULL;
-	memcpy(dst, src, size);
-	return dst;
-}
-
-/*
  * PKCS#11 reinitialization after fork
  * It wipes out the internal state of the PKCS#11 library
  * Any libp11 references to this state are no longer valid
diff --git a/src/p11_slot.c b/src/p11_slot.c
index 846875f..43280a8 100644
--- a/src/p11_slot.c
+++ b/src/p11_slot.c
@@ -241,7 +241,7 @@ int pkcs11_login(PKCS11_SLOT * slot, int so, const char *pin, int relogin)
 			OPENSSL_cleanse(spriv->prev_pin, strlen(spriv->prev_pin));
 			OPENSSL_free(spriv->prev_pin);
 		}
-		spriv->prev_pin = BUF_strdup(pin);
+		spriv->prev_pin = OPENSSL_strdup(pin);
 	}
 	spriv->prev_so = so;
 	return 0;

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-opensc/libp11.git



More information about the pkg-opensc-commit mailing list