From 5081f5a80e62322155736ddf5c12140627aff2aa Mon Sep 17 00:00:00 2001
From: gcontini <1121667+gcontini@users.noreply.github.com>
Date: 周六, 11 1月 2020 14:44:17 +0800
Subject: [PATCH] issue #70

---
 src/library/licensecc.cpp |   13 ++++++++-----
 1 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/src/library/licensecc.cpp b/src/library/licensecc.cpp
index ff57cb3..63330cb 100644
--- a/src/library/licensecc.cpp
+++ b/src/library/licensecc.cpp
@@ -1,5 +1,5 @@
 //============================================================================
-// Name        : license-manager-cpp.cpp
+// Name        : licensecc.cpp
 // Author      :
 // Version     :
 // Copyright   : BSD
@@ -23,14 +23,17 @@
 #include "pc-identifiers.h"
 
 using namespace std;
-void print_error(char out_buffer[256], LicenseInfo* licenseInfo) {}
 
-bool identify_pc(IDENTIFICATION_STRATEGY pc_id_method, char* chbuffer, size_t bufSize) {
+void print_error(char out_buffer[ERROR_BUFFER_SIZE], LicenseInfo* licenseInfo) {}
+
+bool identify_pc(IDENTIFICATION_STRATEGY pc_id_method, char* chbuffer, size_t* bufSize) {
 	FUNCTION_RETURN result = FUNC_RET_BUFFER_TOO_SMALL;
-	if (bufSize >= sizeof(PcSignature)) {
+	if (*bufSize > sizeof(PcSignature)) {
 		PcSignature identifier_out;
 		result = generate_user_pc_signature(identifier_out, pc_id_method);
-		strncpy(chbuffer, identifier_out, bufSize);
+		strncpy(chbuffer, identifier_out, *bufSize);
+	} else {
+		*bufSize = sizeof(PcSignature) + 1;
 	}
 	return result == FUNC_RET_OK;
 }

--
Gitblit v1.9.1