From 7b1950f29fa4a73a43b71ee3c1e444fa38e296f0 Mon Sep 17 00:00:00 2001
From: Gabriele Contini <gcontini@users.noreply.github.com>
Date: 周六, 07 9月 2019 20:06:48 +0800
Subject: [PATCH] CentOS 7 tests

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

diff --git a/src/library/os/os-win.c b/src/library/os/os-win.c
index b6a7f77..d847405 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 {
@@ -140,6 +142,7 @@
 				);
 		if (dwStatus != NO_ERROR) {
 			free(pAdapterInfo);
+            pAdapterInfo = NULL;
 		}
 	} while (dwStatus == ERROR_BUFFER_OVERFLOW && i-- > 0);
 
@@ -155,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;
@@ -175,7 +179,6 @@
 		}
 	}
 	free(pAdapterInfo);
-	*adapter_info_size = i;
 	return result;
 }
 
@@ -208,3 +211,11 @@
 		free(hashStr);
 	}
 }
+
+/**
+ * Not implemented yet.
+ */
+VIRTUALIZATION getVirtualization() {
+	return NONE;
+}
+

--
Gitblit v1.9.1