From bd25f8043a261f59083d869f33ac0ecbd67cf02f Mon Sep 17 00:00:00 2001
From: gcontini <1121667+gcontini@users.noreply.github.com>
Date: 周二, 12 11月 2019 10:24:46 +0800
Subject: [PATCH] fix submodules

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

diff --git a/src/library/pc-identifiers.c b/src/library/pc-identifiers.c
index d4119dd..0f39760 100644
--- a/src/library/pc-identifiers.c
+++ b/src/library/pc-identifiers.c
@@ -283,7 +283,7 @@
 	PcIdentifier concat_identifiers[2];
 	char* b64_data = NULL;
 	int b64_size = 0;
-	size_t concatIdentifiersSize = sizeof(PcIdentifier) * 2;
+	const size_t concatIdentifiersSize = sizeof(PcIdentifier) * 2;
 	//concat_identifiers = (PcIdentifier *) malloc(concatIdentifiersSize);
 	memcpy(&concat_identifiers[0], identifier1, sizeof(PcIdentifier));
 	memcpy(&concat_identifiers[1], identifier2, sizeof(PcIdentifier));
@@ -318,6 +318,7 @@
 	req_buffer_size = req_buffer_size < 2 ? 2 : req_buffer_size;
 	identifiers = (PcIdentifier *) malloc(
 			sizeof(PcIdentifier) * req_buffer_size);
+	memset(identifiers, 0, sizeof(PcIdentifier) * req_buffer_size);
 	result = generate_pc_id(identifiers, &req_buffer_size, strategy);
 	if (result != FUNC_RET_OK) {
 		free(identifiers);
@@ -387,9 +388,12 @@
 	//found = false;
 	for (i = 0; i < 2; i++) {
 		current_strategy_id = strategy_from_pc_id(user_identifiers[i]);
-		if (current_strategy_id == STRATEGY_UNKNOWN) {
+		if (current_strategy_id == STRATEGY_UNKNOWN && previous_strategy_id == STRATEGY_UNKNOWN && i==1) {
 			free(calculated_identifiers);
+			printf("Comparing pc identifiers: %d %d %d %s\n",current_strategy_id,previous_strategy_id,i, str_code);
 			return LICENSE_MALFORMED;
+		} else if (current_strategy_id == STRATEGY_UNKNOWN ){
+			continue;
 		}
 		if (current_strategy_id != previous_strategy_id) {
 			if (calculated_identifiers != NULL) {
@@ -399,6 +403,7 @@
 			generate_pc_id(NULL, &calc_identifiers_size, current_strategy_id);
 			calculated_identifiers = (PcIdentifier *) malloc(
 					sizeof(PcIdentifier) * calc_identifiers_size);
+			memset(calculated_identifiers, 0, sizeof(PcIdentifier) * calc_identifiers_size);
 			generate_pc_id(calculated_identifiers, &calc_identifiers_size,
 					current_strategy_id);
 		}

--
Gitblit v1.9.1