From 16b1353a36171ae06d63fd309f4772dbfb1da113 Mon Sep 17 00:00:00 2001 From: Chanho Park Date: Fri, 5 Sep 2014 20:35:53 +0900 Subject: Imported Upstream version 2.1.0 --- libcacard/vcard.c | 38 +++++++++----------------------------- 1 file changed, 9 insertions(+), 29 deletions(-) (limited to 'libcacard/vcard.c') diff --git a/libcacard/vcard.c b/libcacard/vcard.c index 539177bb4..87ad5166a 100644 --- a/libcacard/vcard.c +++ b/libcacard/vcard.c @@ -37,9 +37,8 @@ vcard_buffer_response_new(unsigned char *buffer, int size) { VCardBufferResponse *new_buffer; - new_buffer = (VCardBufferResponse *)g_malloc(sizeof(VCardBufferResponse)); - new_buffer->buffer = (unsigned char *)g_malloc(size); - memcpy(new_buffer->buffer, buffer, size); + new_buffer = g_new(VCardBufferResponse, 1); + new_buffer->buffer = (unsigned char *)g_memdup(buffer, size); new_buffer->buffer_len = size; new_buffer->current = new_buffer->buffer; new_buffer->len = size; @@ -52,9 +51,7 @@ vcard_buffer_response_delete(VCardBufferResponse *buffer_response) if (buffer_response == NULL) { return; } - if (buffer_response->buffer) { - g_free(buffer_response->buffer); - } + g_free(buffer_response->buffer); g_free(buffer_response); } @@ -102,15 +99,11 @@ vcard_new_applet(VCardProcessAPDU applet_process_function, { VCardApplet *applet; - applet = (VCardApplet *)g_malloc(sizeof(VCardApplet)); - applet->next = NULL; - applet->applet_private = NULL; - applet->applet_private_free = NULL; + applet = g_new0(VCardApplet, 1); applet->process_apdu = applet_process_function; applet->reset_applet = applet_reset_function; - applet->aid = g_malloc(aid_len); - memcpy(applet->aid, aid, aid_len); + applet->aid = g_memdup(aid, aid_len); applet->aid_len = aid_len; return applet; } @@ -124,12 +117,8 @@ vcard_delete_applet(VCardApplet *applet) } if (applet->applet_private_free) { applet->applet_private_free(applet->applet_private); - applet->applet_private = NULL; - } - if (applet->aid) { - g_free(applet->aid); - applet->aid = NULL; } + g_free(applet->aid); g_free(applet); } @@ -149,18 +138,11 @@ VCard * vcard_new(VCardEmul *private, VCardEmulFree private_free) { VCard *new_card; - int i; - new_card = (VCard *)g_malloc(sizeof(VCard)); - new_card->applet_list = NULL; - for (i = 0; i < MAX_CHANNEL; i++) { - new_card->current_applet[i] = NULL; - } - new_card->vcard_buffer_response = NULL; + new_card = g_new0(VCard, 1); new_card->type = VCARD_VM; new_card->vcard_private = private; new_card->vcard_private_free = private_free; - new_card->vcard_get_atr = NULL; new_card->reference_count = 1; return new_card; } @@ -178,8 +160,8 @@ vcard_reference(VCard *vcard) void vcard_free(VCard *vcard) { - VCardApplet *current_applet = NULL; - VCardApplet *next_applet = NULL; + VCardApplet *current_applet; + VCardApplet *next_applet; if (vcard == NULL) { return; @@ -190,8 +172,6 @@ vcard_free(VCard *vcard) } if (vcard->vcard_private_free) { (*vcard->vcard_private_free)(vcard->vcard_private); - vcard->vcard_private_free = 0; - vcard->vcard_private = 0; } for (current_applet = vcard->applet_list; current_applet; current_applet = next_applet) { -- cgit v1.2.3