X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/8949e0458403298a700340bd304f501dd7577fbb..refs/pull/281/head:/armsrc/BigBuf.c

diff --git a/armsrc/BigBuf.c b/armsrc/BigBuf.c
index 8f9ee4be..a5fcea7d 100644
--- a/armsrc/BigBuf.c
+++ b/armsrc/BigBuf.c
@@ -13,6 +13,7 @@
 #include "proxmark3.h"
 #include "apps.h"
 #include "string.h"
+#include "util.h"
 
 // BigBuf is the large multi-purpose buffer, typically used to hold A/D samples or traces.
 // Also used to hold various smaller buffers and the Mifare Emulator Memory.
@@ -61,6 +62,10 @@ void BigBuf_Clear_ext(bool verbose)
 		Dbprintf("Buffer cleared (%i bytes)",BIGBUF_SIZE);
 }
 
+void BigBuf_Clear_keep_EM(void)
+{
+	memset(BigBuf,0,BigBuf_hi);
+}
 
 // allocate a chunk of memory from BigBuf. We allocate high memory first. The unallocated memory
 // at the beginning of BigBuf is always for traces/samples
@@ -184,7 +189,7 @@ bool RAMFUNC LogTrace(const uint8_t *btBytes, uint16_t iLen, uint32_t timestamp_
 	traceLen += iLen;
 
 	// parity bytes
-	if (iLen != 0) {
+	if (num_paritybytes != 0) {
 		if (parity != NULL) {
 			memcpy(trace + traceLen, parity, num_paritybytes);
 		} else {