diff options
author | sauros <sauros@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2003-09-11 09:59:49 +0000 |
---|---|---|
committer | sauros <sauros@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2003-09-11 09:59:49 +0000 |
commit | ae111f823b656c9572fca3ff7d8d1c87a80d4125 (patch) | |
tree | 1afae8a3e9ed97ea0a3d966f735ac4b3d62a2841 | |
parent | 5e59c850e90340775b56e146e898d55c903e2ce2 (diff) | |
download | zabbix-ae111f823b656c9572fca3ff7d8d1c87a80d4125.tar.gz zabbix-ae111f823b656c9572fca3ff7d8d1c87a80d4125.tar.xz zabbix-ae111f823b656c9572fca3ff7d8d1c87a80d4125.zip |
- Fixed bug in GetCounterName() function which causes agent crash on Windows 2003 server (Victor)
git-svn-id: svn://svn.zabbix.com/trunk@978 97f52cf1-0a1b-0410-bd0e-c28be96e8082
-rwxr-xr-x | src/zabbix_agent_win32/Debug/ZabbixW32.exe | bin | 303180 -> 327756 bytes | |||
-rwxr-xr-x | src/zabbix_agent_win32/Release/ZabbixW32.exe | bin | 94208 -> 106496 bytes | |||
-rw-r--r-- | src/zabbix_agent_win32/alias.cpp | 2 | ||||
-rw-r--r-- | src/zabbix_agent_win32/util.cpp | 11 | ||||
-rw-r--r-- | src/zabbix_agent_win32/zabbixw32.h | 2 |
5 files changed, 9 insertions, 6 deletions
diff --git a/src/zabbix_agent_win32/Debug/ZabbixW32.exe b/src/zabbix_agent_win32/Debug/ZabbixW32.exe Binary files differindex dd7d4c12..d31cca2c 100755 --- a/src/zabbix_agent_win32/Debug/ZabbixW32.exe +++ b/src/zabbix_agent_win32/Debug/ZabbixW32.exe diff --git a/src/zabbix_agent_win32/Release/ZabbixW32.exe b/src/zabbix_agent_win32/Release/ZabbixW32.exe Binary files differindex 0f6ad250..804c6b54 100755 --- a/src/zabbix_agent_win32/Release/ZabbixW32.exe +++ b/src/zabbix_agent_win32/Release/ZabbixW32.exe diff --git a/src/zabbix_agent_win32/alias.cpp b/src/zabbix_agent_win32/alias.cpp index ef4d29b5..8519c4c0 100644 --- a/src/zabbix_agent_win32/alias.cpp +++ b/src/zabbix_agent_win32/alias.cpp @@ -46,6 +46,8 @@ BOOL AddAlias(char *name,char *value) // Create new structure and add it to the list alias=(ALIAS *)malloc(sizeof(ALIAS)); + if (alias==NULL) + return FALSE; memset(alias,0,sizeof(ALIAS)); strncpy(alias->name,name,MAX_ALIAS_NAME-1); alias->value=(char *)malloc(strlen(value)+1); diff --git a/src/zabbix_agent_win32/util.cpp b/src/zabbix_agent_win32/util.cpp index d606fa11..7c37183f 100644 --- a/src/zabbix_agent_win32/util.cpp +++ b/src/zabbix_agent_win32/util.cpp @@ -413,13 +413,13 @@ char *GetCounterName(DWORD index) while(counterName!=NULL) { if (counterName->pdhIndex == index) - break; + break; counterName = counterName->next; } if (counterName == NULL) { counterName = (PERFCOUNTER *)malloc(sizeof(PERFCOUNTER)); - memset(counterName,0, sizeof(PERFCOUNTER)); + memset(counterName, 0, sizeof(PERFCOUNTER)); counterName->pdhIndex = index; counterName->next = perfCounterList; @@ -427,12 +427,13 @@ char *GetCounterName(DWORD index) dwSize = MAX_COMPUTERNAME_LENGTH; GetComputerName((char *) &hostname + 2, &dwSize); - dwSize = MAX_COUNTER_PATH; + dwSize = MAX_COUNTER_NAME; if (PdhLookupPerfNameByIndex((char *)&hostname, index, (char *)&counterName->name, &dwSize)==ERROR_SUCCESS) { perfCounterList = counterName; - } else - { + } + else + { free(counterName); return "UnknownPerformanceCounter"; } diff --git a/src/zabbix_agent_win32/zabbixw32.h b/src/zabbix_agent_win32/zabbixw32.h index 085b467f..a51dd67a 100644 --- a/src/zabbix_agent_win32/zabbixw32.h +++ b/src/zabbix_agent_win32/zabbixw32.h @@ -43,7 +43,7 @@ #else #define DEBUG_SUFFIX #endif -#define AGENT_VERSION "1.0.0-beta10" DEBUG_SUFFIX +#define AGENT_VERSION "1.0.0-beta11(rc1)" DEBUG_SUFFIX #define ZABBIX_SERVICE_NAME "ZabbixAgentdW32" #define ZABBIX_EVENT_SOURCE "Zabbix Win32 Agent" |