From d23411ef619c87b488fddff87cff3c1ffde1ac12 Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Sun, 14 Feb 2016 13:41:25 -0500 Subject: [PATCH] resource leak and malloc(x) cannot be negative thanks iceman1001 --- client/loclass/elite_crack.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/client/loclass/elite_crack.c b/client/loclass/elite_crack.c index c824eaa1..5dd8bf6d 100644 --- a/client/loclass/elite_crack.c +++ b/client/loclass/elite_crack.c @@ -563,15 +563,23 @@ int bruteforceFile(const char *filename, uint16_t keytable[]) long fsize = ftell(f); fseek(f, 0, SEEK_SET); + if (fsize < 0) { + prnlog("Error, when getting fsize"); + fclose(f); + return 1; + } + uint8_t *dump = malloc(fsize); size_t bytes_read = fread(dump, 1, fsize, f); fclose(f); - if (bytes_read < fsize) - { - prnlog("Error, could only read %d bytes (should be %d)",bytes_read, fsize ); - } - return bruteforceDump(dump,fsize,keytable); + if (bytes_read < fsize) { + prnlog("Error, could only read %d bytes (should be %d)",bytes_read, fsize ); + } + + uint8_t res = bruteforceDump(dump,fsize,keytable); + free(dump); + return res; } /** * -- 2.39.2