X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/cf08edc97cfdb89ae4c87260ceaed150364bfbc8..16cfceb68966bb3022dee37f4c3f4f1bace3f9c5:/client/mifarehost.c?ds=sidebyside

diff --git a/client/mifarehost.c b/client/mifarehost.c
index b41c3687..f9e05807 100644
--- a/client/mifarehost.c
+++ b/client/mifarehost.c
@@ -250,15 +250,13 @@ int mfKeyBrute(uint8_t blockNo, uint8_t keyType, uint8_t *key, uint64_t *resultk
 	return found;
 }
 
-
 // EMULATOR
-
 int mfEmlGetMem(uint8_t *data, int blockNum, int blocksCount) {
 	UsbCommand c = {CMD_MIFARE_EML_MEMGET, {blockNum, blocksCount, 0}};
 	clearCommandBuffer();
  	SendCommand(&c);
 	UsbCommand resp;
-	if (!WaitForResponseTimeout(CMD_ACK,&resp,1500)) return 1;
+	if (!WaitForResponseTimeout(CMD_ACK, &resp, 1500)) return 1;
 	memcpy(data, resp.d.asBytes, blocksCount * 16);
 	return 0;
 }
@@ -412,14 +410,20 @@ int loadTraceCard(uint8_t *tuid, uint8_t uidlen) {
 		memset(buf, 0, sizeof(buf));
 		if (fgets(buf, sizeof(buf), f) == NULL) {
 			PrintAndLog("No trace file found or reading error.");
-			fclose(f);
+			if (f) {
+				fclose(f);
+				f = NULL;
+			}
 			return 2;
 		}
 
 		if (strlen(buf) < 32){
 			if (feof(f)) break;
 			PrintAndLog("File content error. Block data must include 32 HEX symbols");
-			fclose(f);
+			if (f) {
+				fclose(f);
+				f = NULL;
+			}
 			return 2;
 		}
 		for (i = 0; i < 32; i += 2)
@@ -429,7 +433,10 @@ int loadTraceCard(uint8_t *tuid, uint8_t uidlen) {
 
 		blockNum++;
 	}
-	fclose(f);
+	if (f) {
+		fclose(f);
+		f = NULL;
+	}
 	return 0;
 }
 
@@ -447,7 +454,10 @@ int saveTraceCard(void) {
 		fprintf(f,"\n");
 	}
 	fflush(f);
-	fclose(f);
+	if (f) {
+		fclose(f);
+		f = NULL;
+	}
 	return 0;
 }