diff options
-rw-r--r-- | libcacard/cac.c | 13 | ||||
-rw-r--r-- | libcacard/vcard_emul_nss.c | 7 |
2 files changed, 4 insertions, 16 deletions
diff --git a/libcacard/cac.c b/libcacard/cac.c index 122129ec14..3887896c58 100644 --- a/libcacard/cac.c +++ b/libcacard/cac.c @@ -169,17 +169,8 @@ cac_applet_pki_process_apdu(VCard *card, VCardAPDU *apdu, } size = apdu->a_Lc; - sign_buffer = realloc(pki_applet->sign_buffer, - pki_applet->sign_buffer_len+size); - if (sign_buffer == NULL) { - g_free(pki_applet->sign_buffer); - pki_applet->sign_buffer = NULL; - pki_applet->sign_buffer_len = 0; - *response = vcard_make_response( - VCARD7816_STATUS_EXC_ERROR_MEMORY_FAILURE); - ret = VCARD_DONE; - break; - } + sign_buffer = g_realloc(pki_applet->sign_buffer, + pki_applet->sign_buffer_len + size); memcpy(sign_buffer+pki_applet->sign_buffer_len, apdu->a_body, size); size += pki_applet->sign_buffer_len; switch (apdu->a_p1) { diff --git a/libcacard/vcard_emul_nss.c b/libcacard/vcard_emul_nss.c index 78265932fa..8e055517f8 100644 --- a/libcacard/vcard_emul_nss.c +++ b/libcacard/vcard_emul_nss.c @@ -1178,11 +1178,8 @@ vcard_emul_options(const char *args) if (opts->vreader_count >= reader_count) { reader_count += READER_STEP; - vreaderOpt = realloc(opts->vreader, - reader_count * sizeof(*vreaderOpt)); - if (vreaderOpt == NULL) { - return opts; /* we're done */ - } + vreaderOpt = g_renew(VirtualReaderOptions, opts->vreader, + reader_count); } opts->vreader = vreaderOpt; vreaderOpt = &vreaderOpt[opts->vreader_count]; |