From 4150ba45f73e3ae0ba3ee6a4006acedf7709c8e7 Mon Sep 17 00:00:00 2001
From: open-license-manager <rillf@maildrop.cc>
Date: 周二, 29 7月 2014 07:52:19 +0800
Subject: [PATCH] valgrind

---
 src/library/pc-identifiers.c |   26 +++++++++++++++++---------
 1 files changed, 17 insertions(+), 9 deletions(-)

diff --git a/src/library/pc-identifiers.c b/src/library/pc-identifiers.c
index a2f7ad8..5d120b6 100644
--- a/src/library/pc-identifiers.c
+++ b/src/library/pc-identifiers.c
@@ -78,7 +78,7 @@
 
 	adapterInfos = (AdapterInfo*) malloc(adapters * sizeof(AdapterInfo));
 	result_adapterInfos = getAdapterInfos(adapterInfos, &adapters);
-	for (j = 0; j < adapters; i++) {
+	for (j = 0; j < adapters; j++) {
 		for (k = 0; k < 6; k++)
 			if (use_mac) {
 				identifiers[j][k] = adapterInfos[j].mac_address[k + 2];
@@ -278,10 +278,9 @@
 	char base64ids[17];
 	int identifiers_size;
 
-	sscanf(pc_signature_in, "%.4s-%.4s-%.4s-%.4s", &base64ids[0], &base64ids[4],
+	sscanf(pc_signature_in, "%4s-%4s-%4s-%4s", &base64ids[0], &base64ids[4],
 			&base64ids[8], &base64ids[12]);
-	concat_identifiers = unbase64(base64ids, 16,
-			&identifiers_size);
+	concat_identifiers = unbase64(base64ids, 16, &identifiers_size);
 	if (identifiers_size > sizeof(PcIdentifier) * 2) {
 		return BUFFER_TOO_SMALL;
 	}
@@ -300,11 +299,13 @@
 	PcIdentifier user_identifiers[2];
 	FUNCTION_RETURN result;
 	IDENTIFICATION_STRATEGY previous_strategy_id, current_strategy_id;
-	PcIdentifier* calculated_identifiers;
-	unsigned int calc_identifiers_size;
-	int i, j;
+	PcIdentifier* calculated_identifiers = NULL;
+	unsigned int calc_identifiers_size = 0;
+	int i = 0, j = 0;
 	//bool found;
-
+#ifdef _DEBUG
+	printf("Comparing pc identifiers: \n");
+#endif
 	result = decode_pc_id(user_identifiers[0], user_identifiers[1], str_code);
 	if (result != OK) {
 		return result;
@@ -320,7 +321,7 @@
 			if (calculated_identifiers != NULL) {
 				free(calculated_identifiers);
 			}
-			current_strategy_id = previous_strategy_id;
+			previous_strategy_id = current_strategy_id;
 			generate_pc_id(NULL, &calc_identifiers_size, current_strategy_id);
 			calculated_identifiers = (PcIdentifier *) malloc(
 					sizeof(PcIdentifier) * calc_identifiers_size);
@@ -329,6 +330,13 @@
 		}
 		//maybe skip the byte 0
 		for (j = 0; j < calc_identifiers_size; j++) {
+#ifdef _DEBUG
+			printf("generated id: %02x%02x%02x%02x%02x%02x index %d, user_supplied id %02x%02x%02x%02x%02x%02x idx: %d\n",
+					calculated_identifiers[j][0],calculated_identifiers[j][1],calculated_identifiers[j][2],
+					calculated_identifiers[j][3],calculated_identifiers[j][4],calculated_identifiers[j][5],j,
+					user_identifiers[i][0],user_identifiers[i][1],user_identifiers[i][2],user_identifiers[i][3],user_identifiers[i][4],user_identifiers[i][5],i);
+
+#endif
 			if (!memcmp(user_identifiers[i], calculated_identifiers[j],
 					sizeof(PcIdentifier))) {
 				free(calculated_identifiers);

--
Gitblit v1.9.1