From 3434adbb4e8c605545ba89dd817d693cc0cbd1b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20V=C3=ADtek?= Date: Fri, 16 Oct 2020 14:52:16 +0200 Subject: [PATCH] Replaced malloc() with alloca() --- libnfc/nfc.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/libnfc/nfc.c b/libnfc/nfc.c index d89f0f0..419dbde 100644 --- a/libnfc/nfc.c +++ b/libnfc/nfc.c @@ -81,6 +81,7 @@ #include #include #include +#include #include @@ -566,25 +567,21 @@ nfc_initiator_select_passive_target(nfc_device *pnd, { uint8_t *abtInit = NULL; uint8_t maxAbt = MAX(12, szInitData); - uint8_t *abtTmpInit = malloc(sizeof(uint8_t) * maxAbt); + uint8_t *abtTmpInit = alloca(sizeof(uint8_t) * maxAbt); size_t szInit = 0; int res; if ((res = nfc_device_validate_modulation(pnd, N_INITIATOR, &nm)) != NFC_SUCCESS) { - free(abtTmpInit); return res; } if (szInitData == 0) { // Provide default values, if any prepare_initiator_data(nm, &abtInit, &szInit); - free(abtTmpInit); } else if (nm.nmt == NMT_ISO14443A) { abtInit = abtTmpInit; - free(abtTmpInit); iso14443_cascade_uid(pbtInitData, szInitData, abtInit, &szInit); } else { abtInit = abtTmpInit; memcpy(abtInit, pbtInitData, szInitData); - free(abtTmpInit); szInit = szInitData; } HAL(initiator_select_passive_target, pnd, nm, abtInit, szInit, pnt);