X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/385f398740895f512abc90ea5a00a9be82bf115b..f37fe8cb10783de2f75e3088f454090f44da7253:/client/ui.c

diff --git a/client/ui.c b/client/ui.c
index 10ae1310..770c9191 100644
--- a/client/ui.c
+++ b/client/ui.c
@@ -108,7 +108,7 @@ int manchester_decode( int * data, const size_t len, uint8_t * dataout,  size_t
 	DetectHighLowInGraph(&high, &low, TRUE); 
 
 	/* get clock */
-	clock = GetClock("",0, 0);	
+	clock = GetAskClock("",false, false);
 
 	startindex = DetectFirstTransition(data, len, high);
   
@@ -143,7 +143,7 @@ int manchester_decode( int * data, const size_t len, uint8_t * dataout,  size_t
 	bitIndex = 0;
 	
 	int isDamp = 0;
-	int damplimit = (int)((high / 2) * 0.3);
+	int damplimit = (int)( (int)(high / 2) * 0.3);
 	int dampHi =  (high/2)+damplimit;
 	int dampLow = (high/2)-damplimit;
 	int firstST = 0;
@@ -219,7 +219,7 @@ int manchester_decode( int * data, const size_t len, uint8_t * dataout,  size_t
 	i = startIndex;
 	j = 0;
 	tolerance = clock/4;
-	uint8_t decodedArr[len];
+	uint8_t decodedArr[len] =  {0x00};
 	
 	/* Detect duration between 2 successive transitions */
 	for (bitindex = 1; i < len; i++) {
@@ -287,7 +287,7 @@ int manchester_decode( int * data, const size_t len, uint8_t * dataout,  size_t
 	* parse it into final decoded bitstream
     */ 
 	int i, j, warnings; 
-	uint8_t decodedArr[(len/2)+1];
+	uint8_t decodedArr[(len/2)+1] = {0x00};
 
 	j = warnings = 0;
 	
@@ -433,6 +433,7 @@ void iceFsk3(int * data, const size_t len){
 	if ( fieldlen != 40 && fieldlen != 50){
 		printf("Detected field Length: %d \n", fieldlen);
 		printf("Can only handle 40 or 50.  Aborting...\n");
+		free(output);
 		return;
 	}