fixed memory leak

This commit is contained in:
Frank Morgner
2017-12-18 14:36:56 +01:00
parent 7059778c26
commit 6a0840461c

View File

@@ -46,6 +46,8 @@ static struct rf_driver *rfdriver = &driver_openpicc;
static driver_data_t *rfdriver_data = NULL; static driver_data_t *rfdriver_data = NULL;
static struct sc_driver *scdriver = &driver_pcsc; static struct sc_driver *scdriver = &driver_pcsc;
static driver_data_t *scdriver_data = NULL; static driver_data_t *scdriver_data = NULL;
static unsigned char *buf = NULL;
static size_t buflen = 0;
/* Forward declaration */ /* Forward declaration */
static void daemonize(void); static void daemonize(void);
@@ -113,6 +115,7 @@ void cleanup(void) {
rfdriver_data = NULL; rfdriver_data = NULL;
scdriver->disconnect(scdriver_data); scdriver->disconnect(scdriver_data);
scdriver_data = NULL; scdriver_data = NULL;
free(buf);
} }
void void
@@ -136,9 +139,6 @@ hexdump(const char *label, unsigned char *buf, size_t len)
int main (int argc, char **argv) int main (int argc, char **argv)
{ {
/*printf("%s:%d\n", __FILE__, __LINE__);*/ /*printf("%s:%d\n", __FILE__, __LINE__);*/
unsigned char *buf = NULL;
size_t buflen;
unsigned char outputBuffer[MAX_EXT_BUFFER_SIZE]; unsigned char outputBuffer[MAX_EXT_BUFFER_SIZE];
size_t outputLength; size_t outputLength;
@@ -213,6 +213,7 @@ int main (int argc, char **argv)
daemonize(); daemonize();
} }
cmdline_parser_free (&args_info);
while(1) { while(1) {
/* get C-APDU */ /* get C-APDU */
@@ -248,7 +249,6 @@ int main (int argc, char **argv)
err: err:
cmdline_parser_free (&args_info);
cleanup(); cleanup();
exit(0); exit(0);