From f0bab602c0d361f66a112e5a2db312b0da7dcd55 Mon Sep 17 00:00:00 2001
From: tizzybec <tizzybec@outlook.com>
Date: 周三, 12 6月 2019 22:45:26 +0800
Subject: [PATCH] fix signature generation failing under win32

---
 src/library/os/os-win.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/library/os/os-win.c b/src/library/os/os-win.c
index 62694d7..e406ab9 100644
--- a/src/library/os/os-win.c
+++ b/src/library/os/os-win.c
@@ -46,6 +46,7 @@
 	UINT driveType;
 	DWORD dwSize = MAX_PATH;
 	char szLogicalDrives[MAX_PATH] = { 0 };
+    unsigned char buf[8] = "";
 
 	FUNCTION_RETURN return_value;
 	DWORD dwResult = GetLogicalDriveStrings(dwSize, szLogicalDrives);
@@ -72,6 +73,7 @@
 							diskInfos[ndrives].id = ndrives;
 							strncpy(diskInfos[ndrives].device, volName, MAX_PATH);
 							strncpy(diskInfos[ndrives].label, FileSysName, MAX_PATH);
+                            memcpy(diskInfos[ndrives].disk_sn, &buf, sizeof(buf));
 							memcpy(diskInfos[ndrives].disk_sn, &volSerial, sizeof(DWORD));
 							diskInfos[ndrives].preferred = (strncmp(szSingleDrive, "C", 1) != 0);
 						} else {
@@ -129,7 +131,7 @@
 	FUNCTION_RETURN result;
 	PIP_ADAPTER_INFO pAdapterInfo, pAdapter = NULL;
 	//IP_ADAPTER_INFO AdapterInfo[20];              // Allocate information for up to 16 NICs
-	DWORD dwBufLen = 0; //10 * sizeof(IP_ADAPTER_INFO);  // Save the memory size of buffer
+	DWORD dwBufLen = sizeof(IP_ADAPTER_INFO); //10 * sizeof(IP_ADAPTER_INFO);  // Save the memory size of buffer
 
 	i = 3;
 	do {
@@ -156,7 +158,8 @@
 		return FUNC_RET_OK;
 	}
 
-	memset(adapterInfos, 0, *adapter_info_size);
+  *adapter_info_size = dwBufLen / sizeof(IP_ADAPTER_INFO);
+	memset(adapterInfos, 0, dwBufLen);
 	pAdapter = pAdapterInfo;
 	i = 0;
 	result = FUNC_RET_OK;
@@ -176,7 +179,6 @@
 		}
 	}
 	free(pAdapterInfo);
-	*adapter_info_size = i;
 	return result;
 }
 

--
Gitblit v1.9.1