Jan Willamowius
2019-04-22 0542dc1206fa35134e90d2bb40c67f97ed82b481
src/library/pc-identifiers.c
@@ -16,7 +16,11 @@
#include <stdbool.h>
#include <valgrind/memcheck.h>
#else
#ifdef __MINGW32__
#include <windows.h>
#else
#include <Windows.h>
#endif
#endif
static FUNCTION_RETURN generate_disk_pc_id(PcIdentifier * identifiers,
@@ -80,7 +84,11 @@
         }
      }
end:
      *num_identifiers = cmin(*num_identifiers, adapter_num * disk_num);
#ifdef _MSC_VER
        *num_identifiers = min(*num_identifiers, adapter_num * disk_num);
#else
        *num_identifiers = cmin(*num_identifiers, adapter_num * disk_num);
#endif
      free(diskInfoPtr);
      free(adapterInfoPtr);
   }
@@ -145,7 +153,7 @@
      return result_diskinfos;
   }
   diskInfos = (DiskInfo*) malloc(disk_num * sizeof(DiskInfo));
   //memset(diskInfos,0,disk_num * sizeof(DiskInfo));
   memset(diskInfos,0,disk_num * sizeof(DiskInfo));
   result_diskinfos = getDiskInfos(diskInfos, &disk_num);
   if (result_diskinfos != FUNC_RET_OK) {
      free(diskInfos);
@@ -273,7 +281,7 @@
      PcSignature pc_identifier_out) {
   //TODO base62 encoding, now uses base64
   PcIdentifier concat_identifiers[2];
   char* b64_data;
   char* b64_data = NULL;
   int b64_size = 0;
   size_t concatIdentifiersSize = sizeof(PcIdentifier) * 2;
   //concat_identifiers = (PcIdentifier *) malloc(concatIdentifiersSize);
@@ -281,6 +289,7 @@
   memcpy(&concat_identifiers[1], identifier2, sizeof(PcIdentifier));
   b64_data = base64(concat_identifiers, concatIdentifiersSize, &b64_size);
   if (b64_size > sizeof(PcSignature)) {
      free(b64_data);
      return FUNC_RET_BUFFER_TOO_SMALL;
   }
   sprintf(pc_identifier_out, "%.4s-%.4s-%.4s-%.4s", &b64_data[0],
@@ -337,7 +346,7 @@
      PcIdentifier identifier2_out, PcSignature pc_signature_in) {
   //TODO base62 encoding, now uses base64
   unsigned char * concat_identifiers;
   unsigned char * concat_identifiers = NULL;
   char base64ids[17];
   int identifiers_size;
@@ -345,6 +354,7 @@
         &base64ids[8], &base64ids[12]);
   concat_identifiers = unbase64(base64ids, 16, &identifiers_size);
   if (identifiers_size > sizeof(PcIdentifier) * 2) {
      free(concat_identifiers);
      return FUNC_RET_BUFFER_TOO_SMALL;
   }
   memcpy(identifier1_out, concat_identifiers, sizeof(PcIdentifier));
@@ -378,6 +388,7 @@
   for (i = 0; i < 2; i++) {
      current_strategy_id = strategy_from_pc_id(user_identifiers[i]);
      if (current_strategy_id == STRATEGY_UNKNOWN) {
         free(calculated_identifiers);
         return LICENSE_MALFORMED;
      }
      if (current_strategy_id != previous_strategy_id) {