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