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