[Forensics-changes] [yara] 120/407: Remove references to "aprintf" and fix a memory leak
Hilko Bengen
bengen at moszumanska.debian.org
Sat Jul 1 10:28:16 UTC 2017
This is an automated email from the git hooks/post-receive script.
bengen pushed a commit to annotated tag v3.3.0
in repository yara.
commit a7ce07ee0de359dd30fe3c6432bc57662029ff7b
Author: Victor M. Alvarez <plusvic at gmail.com>
Date: Thu Oct 16 13:28:58 2014 +0200
Remove references to "aprintf" and fix a memory leak
"aprintf" calls "malloc" internally, but the strings is freed by using "yr_free", this causes an imbalance in the number of calls to "yr_malloc" and "yr_free" breaking tools for detecting memory leaks. The other option would be using "free" for those specific strings, but maintaining coherence is preferred.
---
libyara/modules/pe.c | 1117 +++++++++++++++++++++++++-------------------------
1 file changed, 551 insertions(+), 566 deletions(-)
diff --git a/libyara/modules/pe.c b/libyara/modules/pe.c
index 63d4b73..bda092f 100644
--- a/libyara/modules/pe.c
+++ b/libyara/modules/pe.c
@@ -133,361 +133,363 @@ char *ord_lookup(
char *dll,
uint16_t ord)
{
- char *name = NULL;
+ char name[64];
+ name[0] = '\0';
+
if (strncasecmp(dll, "WS2_32.dll", 10) == 0 ||
strncasecmp(dll, "wsock32.dll", 11) == 0)
{
switch(ord) {
case 1:
- asprintf(&name, "accept");
+ sprintf(name, "accept");
break;
case 2:
- asprintf(&name, "bind");
+ sprintf(name, "bind");
break;
case 3:
- asprintf(&name, "closesocket");
+ sprintf(name, "closesocket");
break;
case 4:
- asprintf(&name, "connect");
+ sprintf(name, "connect");
break;
case 5:
- asprintf(&name, "getpeername");
+ sprintf(name, "getpeername");
break;
case 6:
- asprintf(&name, "getsockname");
+ sprintf(name, "getsockname");
break;
case 7:
- asprintf(&name, "getsockopt");
+ sprintf(name, "getsockopt");
break;
case 8:
- asprintf(&name, "htonl");
+ sprintf(name, "htonl");
break;
case 9:
- asprintf(&name, "htons");
+ sprintf(name, "htons");
break;
case 10:
- asprintf(&name, "ioctlsocket");
+ sprintf(name, "ioctlsocket");
break;
case 11:
- asprintf(&name, "inet_addr");
+ sprintf(name, "inet_addr");
break;
case 12:
- asprintf(&name, "inet_ntoa");
+ sprintf(name, "inet_ntoa");
break;
case 13:
- asprintf(&name, "listen");
+ sprintf(name, "listen");
break;
case 14:
- asprintf(&name, "ntohl");
+ sprintf(name, "ntohl");
break;
case 15:
- asprintf(&name, "ntohs");
+ sprintf(name, "ntohs");
break;
case 16:
- asprintf(&name, "recv");
+ sprintf(name, "recv");
break;
case 17:
- asprintf(&name, "recvfrom");
+ sprintf(name, "recvfrom");
break;
case 18:
- asprintf(&name, "select");
+ sprintf(name, "select");
break;
case 19:
- asprintf(&name, "send");
+ sprintf(name, "send");
break;
case 20:
- asprintf(&name, "sendto");
+ sprintf(name, "sendto");
break;
case 21:
- asprintf(&name, "setsockopt");
+ sprintf(name, "setsockopt");
break;
case 22:
- asprintf(&name, "shutdown");
+ sprintf(name, "shutdown");
break;
case 23:
- asprintf(&name, "socket");
+ sprintf(name, "socket");
break;
case 24:
- asprintf(&name, "GetAddrInfoW");
+ sprintf(name, "GetAddrInfoW");
break;
case 25:
- asprintf(&name, "GetNameInfoW");
+ sprintf(name, "GetNameInfoW");
break;
case 26:
- asprintf(&name, "WSApSetPostRoutine");
+ sprintf(name, "WSApSetPostRoutine");
break;
case 27:
- asprintf(&name, "FreeAddrInfoW");
+ sprintf(name, "FreeAddrInfoW");
break;
case 28:
- asprintf(&name, "WPUCompleteOverlappedRequest");
+ sprintf(name, "WPUCompleteOverlappedRequest");
break;
case 29:
- asprintf(&name, "WSAAccept");
+ sprintf(name, "WSAAccept");
break;
case 30:
- asprintf(&name, "WSAAddressToStringA");
+ sprintf(name, "WSAAddressToStringA");
break;
case 31:
- asprintf(&name, "WSAAddressToStringW");
+ sprintf(name, "WSAAddressToStringW");
break;
case 32:
- asprintf(&name, "WSACloseEvent");
+ sprintf(name, "WSACloseEvent");
break;
case 33:
- asprintf(&name, "WSAConnect");
+ sprintf(name, "WSAConnect");
break;
case 34:
- asprintf(&name, "WSACreateEvent");
+ sprintf(name, "WSACreateEvent");
break;
case 35:
- asprintf(&name, "WSADuplicateSocketA");
+ sprintf(name, "WSADuplicateSocketA");
break;
case 36:
- asprintf(&name, "WSADuplicateSocketW");
+ sprintf(name, "WSADuplicateSocketW");
break;
case 37:
- asprintf(&name, "WSAEnumNameSpaceProvidersA");
+ sprintf(name, "WSAEnumNameSpaceProvidersA");
break;
case 38:
- asprintf(&name, "WSAEnumNameSpaceProvidersW");
+ sprintf(name, "WSAEnumNameSpaceProvidersW");
break;
case 39:
- asprintf(&name, "WSAEnumNetworkEvents");
+ sprintf(name, "WSAEnumNetworkEvents");
break;
case 40:
- asprintf(&name, "WSAEnumProtocolsA");
+ sprintf(name, "WSAEnumProtocolsA");
break;
case 41:
- asprintf(&name, "WSAEnumProtocolsW");
+ sprintf(name, "WSAEnumProtocolsW");
break;
case 42:
- asprintf(&name, "WSAEventSelect");
+ sprintf(name, "WSAEventSelect");
break;
case 43:
- asprintf(&name, "WSAGetOverlappedResult");
+ sprintf(name, "WSAGetOverlappedResult");
break;
case 44:
- asprintf(&name, "WSAGetQOSByName");
+ sprintf(name, "WSAGetQOSByName");
break;
case 45:
- asprintf(&name, "WSAGetServiceClassInfoA");
+ sprintf(name, "WSAGetServiceClassInfoA");
break;
case 46:
- asprintf(&name, "WSAGetServiceClassInfoW");
+ sprintf(name, "WSAGetServiceClassInfoW");
break;
case 47:
- asprintf(&name, "WSAGetServiceClassNameByClassIdA");
+ sprintf(name, "WSAGetServiceClassNameByClassIdA");
break;
case 48:
- asprintf(&name, "WSAGetServiceClassNameByClassIdW");
+ sprintf(name, "WSAGetServiceClassNameByClassIdW");
break;
case 49:
- asprintf(&name, "WSAHtonl");
+ sprintf(name, "WSAHtonl");
break;
case 50:
- asprintf(&name, "WSAHtons");
+ sprintf(name, "WSAHtons");
break;
case 51:
- asprintf(&name, "gethostbyaddr");
+ sprintf(name, "gethostbyaddr");
break;
case 52:
- asprintf(&name, "gethostbyname");
+ sprintf(name, "gethostbyname");
break;
case 53:
- asprintf(&name, "getprotobyname");
+ sprintf(name, "getprotobyname");
break;
case 54:
- asprintf(&name, "getprotobynumber");
+ sprintf(name, "getprotobynumber");
break;
case 55:
- asprintf(&name, "getservbyname");
+ sprintf(name, "getservbyname");
break;
case 56:
- asprintf(&name, "getservbyport");
+ sprintf(name, "getservbyport");
break;
case 57:
- asprintf(&name, "gethostname");
+ sprintf(name, "gethostname");
break;
case 58:
- asprintf(&name, "WSAInstallServiceClassA");
+ sprintf(name, "WSAInstallServiceClassA");
break;
case 59:
- asprintf(&name, "WSAInstallServiceClassW");
+ sprintf(name, "WSAInstallServiceClassW");
break;
case 60:
- asprintf(&name, "WSAIoctl");
+ sprintf(name, "WSAIoctl");
break;
case 61:
- asprintf(&name, "WSAJoinLeaf");
+ sprintf(name, "WSAJoinLeaf");
break;
case 62:
- asprintf(&name, "WSALookupServiceBeginA");
+ sprintf(name, "WSALookupServiceBeginA");
break;
case 63:
- asprintf(&name, "WSALookupServiceBeginW");
+ sprintf(name, "WSALookupServiceBeginW");
break;
case 64:
- asprintf(&name, "WSALookupServiceEnd");
+ sprintf(name, "WSALookupServiceEnd");
break;
case 65:
- asprintf(&name, "WSALookupServiceNextA");
+ sprintf(name, "WSALookupServiceNextA");
break;
case 66:
- asprintf(&name, "WSALookupServiceNextW");
+ sprintf(name, "WSALookupServiceNextW");
break;
case 67:
- asprintf(&name, "WSANSPIoctl");
+ sprintf(name, "WSANSPIoctl");
break;
case 68:
- asprintf(&name, "WSANtohl");
+ sprintf(name, "WSANtohl");
break;
case 69:
- asprintf(&name, "WSANtohs");
+ sprintf(name, "WSANtohs");
break;
case 70:
- asprintf(&name, "WSAProviderConfigChange");
+ sprintf(name, "WSAProviderConfigChange");
break;
case 71:
- asprintf(&name, "WSARecv");
+ sprintf(name, "WSARecv");
break;
case 72:
- asprintf(&name, "WSARecvDisconnect");
+ sprintf(name, "WSARecvDisconnect");
break;
case 73:
- asprintf(&name, "WSARecvFrom");
+ sprintf(name, "WSARecvFrom");
break;
case 74:
- asprintf(&name, "WSARemoveServiceClass");
+ sprintf(name, "WSARemoveServiceClass");
break;
case 75:
- asprintf(&name, "WSAResetEvent");
+ sprintf(name, "WSAResetEvent");
break;
case 76:
- asprintf(&name, "WSASend");
+ sprintf(name, "WSASend");
break;
case 77:
- asprintf(&name, "WSASendDisconnect");
+ sprintf(name, "WSASendDisconnect");
break;
case 78:
- asprintf(&name, "WSASendTo");
+ sprintf(name, "WSASendTo");
break;
case 79:
- asprintf(&name, "WSASetEvent");
+ sprintf(name, "WSASetEvent");
break;
case 80:
- asprintf(&name, "WSASetServiceA");
+ sprintf(name, "WSASetServiceA");
break;
case 81:
- asprintf(&name, "WSASetServiceW");
+ sprintf(name, "WSASetServiceW");
break;
case 82:
- asprintf(&name, "WSASocketA");
+ sprintf(name, "WSASocketA");
break;
case 83:
- asprintf(&name, "WSASocketW");
+ sprintf(name, "WSASocketW");
break;
case 84:
- asprintf(&name, "WSAStringToAddressA");
+ sprintf(name, "WSAStringToAddressA");
break;
case 85:
- asprintf(&name, "WSAStringToAddressW");
+ sprintf(name, "WSAStringToAddressW");
break;
case 86:
- asprintf(&name, "WSAWaitForMultipleEvents");
+ sprintf(name, "WSAWaitForMultipleEvents");
break;
case 87:
- asprintf(&name, "WSCDeinstallProvider");
+ sprintf(name, "WSCDeinstallProvider");
break;
case 88:
- asprintf(&name, "WSCEnableNSProvider");
+ sprintf(name, "WSCEnableNSProvider");
break;
case 89:
- asprintf(&name, "WSCEnumProtocols");
+ sprintf(name, "WSCEnumProtocols");
break;
case 90:
- asprintf(&name, "WSCGetProviderPath");
+ sprintf(name, "WSCGetProviderPath");
break;
case 91:
- asprintf(&name, "WSCInstallNameSpace");
+ sprintf(name, "WSCInstallNameSpace");
break;
case 92:
- asprintf(&name, "WSCInstallProvider");
+ sprintf(name, "WSCInstallProvider");
break;
case 93:
- asprintf(&name, "WSCUnInstallNameSpace");
+ sprintf(name, "WSCUnInstallNameSpace");
break;
case 94:
- asprintf(&name, "WSCUpdateProvider");
+ sprintf(name, "WSCUpdateProvider");
break;
case 95:
- asprintf(&name, "WSCWriteNameSpaceOrder");
+ sprintf(name, "WSCWriteNameSpaceOrder");
break;
case 96:
- asprintf(&name, "WSCWriteProviderOrder");
+ sprintf(name, "WSCWriteProviderOrder");
break;
case 97:
- asprintf(&name, "freeaddrinfo");
+ sprintf(name, "freeaddrinfo");
break;
case 98:
- asprintf(&name, "getaddrinfo");
+ sprintf(name, "getaddrinfo");
break;
case 99:
- asprintf(&name, "getnameinfo");
+ sprintf(name, "getnameinfo");
break;
case 101:
- asprintf(&name, "WSAAsyncSelect");
+ sprintf(name, "WSAAsyncSelect");
break;
case 102:
- asprintf(&name, "WSAAsyncGetHostByAddr");
+ sprintf(name, "WSAAsyncGetHostByAddr");
break;
case 103:
- asprintf(&name, "WSAAsyncGetHostByName");
+ sprintf(name, "WSAAsyncGetHostByName");
break;
case 104:
- asprintf(&name, "WSAAsyncGetProtoByNumber");
+ sprintf(name, "WSAAsyncGetProtoByNumber");
break;
case 105:
- asprintf(&name, "WSAAsyncGetProtoByName");
+ sprintf(name, "WSAAsyncGetProtoByName");
break;
case 106:
- asprintf(&name, "WSAAsyncGetServByPort");
+ sprintf(name, "WSAAsyncGetServByPort");
break;
case 107:
- asprintf(&name, "WSAAsyncGetServByName");
+ sprintf(name, "WSAAsyncGetServByName");
break;
case 108:
- asprintf(&name, "WSACancelAsyncRequest");
+ sprintf(name, "WSACancelAsyncRequest");
break;
case 109:
- asprintf(&name, "WSASetBlockingHook");
+ sprintf(name, "WSASetBlockingHook");
break;
case 110:
- asprintf(&name, "WSAUnhookBlockingHook");
+ sprintf(name, "WSAUnhookBlockingHook");
break;
case 111:
- asprintf(&name, "WSAGetLastError");
+ sprintf(name, "WSAGetLastError");
break;
case 112:
- asprintf(&name, "WSASetLastError");
+ sprintf(name, "WSASetLastError");
break;
case 113:
- asprintf(&name, "WSACancelBlockingCall");
+ sprintf(name, "WSACancelBlockingCall");
break;
case 114:
- asprintf(&name, "WSAIsBlocking");
+ sprintf(name, "WSAIsBlocking");
break;
case 115:
- asprintf(&name, "WSAStartup");
+ sprintf(name, "WSAStartup");
break;
case 116:
- asprintf(&name, "WSACleanup");
+ sprintf(name, "WSACleanup");
break;
case 151:
- asprintf(&name, "__WSAFDIsSet");
+ sprintf(name, "__WSAFDIsSet");
break;
case 500:
- asprintf(&name, "WEP");
+ sprintf(name, "WEP");
break;
default:
break;
@@ -497,1206 +499,1208 @@ char *ord_lookup(
{
switch (ord) {
case 2:
- asprintf(&name, "SysAllocString");
+ sprintf(name, "SysAllocString");
break;
case 3:
- asprintf(&name, "SysReAllocString");
+ sprintf(name, "SysReAllocString");
break;
case 4:
- asprintf(&name, "SysAllocStringLen");
+ sprintf(name, "SysAllocStringLen");
break;
case 5:
- asprintf(&name, "SysReAllocStringLen");
+ sprintf(name, "SysReAllocStringLen");
break;
case 6:
- asprintf(&name, "SysFreeString");
+ sprintf(name, "SysFreeString");
break;
case 7:
- asprintf(&name, "SysStringLen");
+ sprintf(name, "SysStringLen");
break;
case 8:
- asprintf(&name, "VariantInit");
+ sprintf(name, "VariantInit");
break;
case 9:
- asprintf(&name, "VariantClear");
+ sprintf(name, "VariantClear");
break;
case 10:
- asprintf(&name, "VariantCopy");
+ sprintf(name, "VariantCopy");
break;
case 11:
- asprintf(&name, "VariantCopyInd");
+ sprintf(name, "VariantCopyInd");
break;
case 12:
- asprintf(&name, "VariantChangeType");
+ sprintf(name, "VariantChangeType");
break;
case 13:
- asprintf(&name, "VariantTimeToDosDateTime");
+ sprintf(name, "VariantTimeToDosDateTime");
break;
case 14:
- asprintf(&name, "DosDateTimeToVariantTime");
+ sprintf(name, "DosDateTimeToVariantTime");
break;
case 15:
- asprintf(&name, "SafeArrayCreate");
+ sprintf(name, "SafeArrayCreate");
break;
case 16:
- asprintf(&name, "SafeArrayDestroy");
+ sprintf(name, "SafeArrayDestroy");
break;
case 17:
- asprintf(&name, "SafeArrayGetDim");
+ sprintf(name, "SafeArrayGetDim");
break;
case 18:
- asprintf(&name, "SafeArrayGetElemsize");
+ sprintf(name, "SafeArrayGetElemsize");
break;
case 19:
- asprintf(&name, "SafeArrayGetUBound");
+ sprintf(name, "SafeArrayGetUBound");
break;
case 20:
- asprintf(&name, "SafeArrayGetLBound");
+ sprintf(name, "SafeArrayGetLBound");
break;
case 21:
- asprintf(&name, "SafeArrayLock");
+ sprintf(name, "SafeArrayLock");
break;
case 22:
- asprintf(&name, "SafeArrayUnlock");
+ sprintf(name, "SafeArrayUnlock");
break;
case 23:
- asprintf(&name, "SafeArrayAccessData");
+ sprintf(name, "SafeArrayAccessData");
break;
case 24:
- asprintf(&name, "SafeArrayUnaccessData");
+ sprintf(name, "SafeArrayUnaccessData");
break;
case 25:
- asprintf(&name, "SafeArrayGetElement");
+ sprintf(name, "SafeArrayGetElement");
break;
case 26:
- asprintf(&name, "SafeArrayPutElement");
+ sprintf(name, "SafeArrayPutElement");
break;
case 27:
- asprintf(&name, "SafeArrayCopy");
+ sprintf(name, "SafeArrayCopy");
break;
case 28:
- asprintf(&name, "DispGetParam");
+ sprintf(name, "DispGetParam");
break;
case 29:
- asprintf(&name, "DispGetIDsOfNames");
+ sprintf(name, "DispGetIDsOfNames");
break;
case 30:
- asprintf(&name, "DispInvoke");
+ sprintf(name, "DispInvoke");
break;
case 31:
- asprintf(&name, "CreateDispTypeInfo");
+ sprintf(name, "CreateDispTypeInfo");
break;
case 32:
- asprintf(&name, "CreateStdDispatch");
+ sprintf(name, "CreateStdDispatch");
break;
case 33:
- asprintf(&name, "RegisterActiveObject");
+ sprintf(name, "RegisterActiveObject");
break;
case 34:
- asprintf(&name, "RevokeActiveObject");
+ sprintf(name, "RevokeActiveObject");
break;
case 35:
- asprintf(&name, "GetActiveObject");
+ sprintf(name, "GetActiveObject");
break;
case 36:
- asprintf(&name, "SafeArrayAllocDescriptor");
+ sprintf(name, "SafeArrayAllocDescriptor");
break;
case 37:
- asprintf(&name, "SafeArrayAllocData");
+ sprintf(name, "SafeArrayAllocData");
break;
case 38:
- asprintf(&name, "SafeArrayDestroyDescriptor");
+ sprintf(name, "SafeArrayDestroyDescriptor");
break;
case 39:
- asprintf(&name, "SafeArrayDestroyData");
+ sprintf(name, "SafeArrayDestroyData");
break;
case 40:
- asprintf(&name, "SafeArrayRedim");
+ sprintf(name, "SafeArrayRedim");
break;
case 41:
- asprintf(&name, "SafeArrayAllocDescriptorEx");
+ sprintf(name, "SafeArrayAllocDescriptorEx");
break;
case 42:
- asprintf(&name, "SafeArrayCreateEx");
+ sprintf(name, "SafeArrayCreateEx");
break;
case 43:
- asprintf(&name, "SafeArrayCreateVectorEx");
+ sprintf(name, "SafeArrayCreateVectorEx");
break;
case 44:
- asprintf(&name, "SafeArraySetRecordInfo");
+ sprintf(name, "SafeArraySetRecordInfo");
break;
case 45:
- asprintf(&name, "SafeArrayGetRecordInfo");
+ sprintf(name, "SafeArrayGetRecordInfo");
break;
case 46:
- asprintf(&name, "VarParseNumFromStr");
+ sprintf(name, "VarParseNumFromStr");
break;
case 47:
- asprintf(&name, "VarNumFromParseNum");
+ sprintf(name, "VarNumFromParseNum");
break;
case 48:
- asprintf(&name, "VarI2FromUI1");
+ sprintf(name, "VarI2FromUI1");
break;
case 49:
- asprintf(&name, "VarI2FromI4");
+ sprintf(name, "VarI2FromI4");
break;
case 50:
- asprintf(&name, "VarI2FromR4");
+ sprintf(name, "VarI2FromR4");
break;
case 51:
- asprintf(&name, "VarI2FromR8");
+ sprintf(name, "VarI2FromR8");
break;
case 52:
- asprintf(&name, "VarI2FromCy");
+ sprintf(name, "VarI2FromCy");
break;
case 53:
- asprintf(&name, "VarI2FromDate");
+ sprintf(name, "VarI2FromDate");
break;
case 54:
- asprintf(&name, "VarI2FromStr");
+ sprintf(name, "VarI2FromStr");
break;
case 55:
- asprintf(&name, "VarI2FromDisp");
+ sprintf(name, "VarI2FromDisp");
break;
case 56:
- asprintf(&name, "VarI2FromBool");
+ sprintf(name, "VarI2FromBool");
break;
case 57:
- asprintf(&name, "SafeArraySetIID");
+ sprintf(name, "SafeArraySetIID");
break;
case 58:
- asprintf(&name, "VarI4FromUI1");
+ sprintf(name, "VarI4FromUI1");
break;
case 59:
- asprintf(&name, "VarI4FromI2");
+ sprintf(name, "VarI4FromI2");
break;
case 60:
- asprintf(&name, "VarI4FromR4");
+ sprintf(name, "VarI4FromR4");
break;
case 61:
- asprintf(&name, "VarI4FromR8");
+ sprintf(name, "VarI4FromR8");
break;
case 62:
- asprintf(&name, "VarI4FromCy");
+ sprintf(name, "VarI4FromCy");
break;
case 63:
- asprintf(&name, "VarI4FromDate");
+ sprintf(name, "VarI4FromDate");
break;
case 64:
- asprintf(&name, "VarI4FromStr");
+ sprintf(name, "VarI4FromStr");
break;
case 65:
- asprintf(&name, "VarI4FromDisp");
+ sprintf(name, "VarI4FromDisp");
break;
case 66:
- asprintf(&name, "VarI4FromBool");
+ sprintf(name, "VarI4FromBool");
break;
case 67:
- asprintf(&name, "SafeArrayGetIID");
+ sprintf(name, "SafeArrayGetIID");
break;
case 68:
- asprintf(&name, "VarR4FromUI1");
+ sprintf(name, "VarR4FromUI1");
break;
case 69:
- asprintf(&name, "VarR4FromI2");
+ sprintf(name, "VarR4FromI2");
break;
case 70:
- asprintf(&name, "VarR4FromI4");
+ sprintf(name, "VarR4FromI4");
break;
case 71:
- asprintf(&name, "VarR4FromR8");
+ sprintf(name, "VarR4FromR8");
break;
case 72:
- asprintf(&name, "VarR4FromCy");
+ sprintf(name, "VarR4FromCy");
break;
case 73:
- asprintf(&name, "VarR4FromDate");
+ sprintf(name, "VarR4FromDate");
break;
case 74:
- asprintf(&name, "VarR4FromStr");
+ sprintf(name, "VarR4FromStr");
break;
case 75:
- asprintf(&name, "VarR4FromDisp");
+ sprintf(name, "VarR4FromDisp");
break;
case 76:
- asprintf(&name, "VarR4FromBool");
+ sprintf(name, "VarR4FromBool");
break;
case 77:
- asprintf(&name, "SafeArrayGetVartype");
+ sprintf(name, "SafeArrayGetVartype");
break;
case 78:
- asprintf(&name, "VarR8FromUI1");
+ sprintf(name, "VarR8FromUI1");
break;
case 79:
- asprintf(&name, "VarR8FromI2");
+ sprintf(name, "VarR8FromI2");
break;
case 80:
- asprintf(&name, "VarR8FromI4");
+ sprintf(name, "VarR8FromI4");
break;
case 81:
- asprintf(&name, "VarR8FromR4");
+ sprintf(name, "VarR8FromR4");
break;
case 82:
- asprintf(&name, "VarR8FromCy");
+ sprintf(name, "VarR8FromCy");
break;
case 83:
- asprintf(&name, "VarR8FromDate");
+ sprintf(name, "VarR8FromDate");
break;
case 84:
- asprintf(&name, "VarR8FromStr");
+ sprintf(name, "VarR8FromStr");
break;
case 85:
- asprintf(&name, "VarR8FromDisp");
+ sprintf(name, "VarR8FromDisp");
break;
case 86:
- asprintf(&name, "VarR8FromBool");
+ sprintf(name, "VarR8FromBool");
break;
case 87:
- asprintf(&name, "VarFormat");
+ sprintf(name, "VarFormat");
break;
case 88:
- asprintf(&name, "VarDateFromUI1");
+ sprintf(name, "VarDateFromUI1");
break;
case 89:
- asprintf(&name, "VarDateFromI2");
+ sprintf(name, "VarDateFromI2");
break;
case 90:
- asprintf(&name, "VarDateFromI4");
+ sprintf(name, "VarDateFromI4");
break;
case 91:
- asprintf(&name, "VarDateFromR4");
+ sprintf(name, "VarDateFromR4");
break;
case 92:
- asprintf(&name, "VarDateFromR8");
+ sprintf(name, "VarDateFromR8");
break;
case 93:
- asprintf(&name, "VarDateFromCy");
+ sprintf(name, "VarDateFromCy");
break;
case 94:
- asprintf(&name, "VarDateFromStr");
+ sprintf(name, "VarDateFromStr");
break;
case 95:
- asprintf(&name, "VarDateFromDisp");
+ sprintf(name, "VarDateFromDisp");
break;
case 96:
- asprintf(&name, "VarDateFromBool");
+ sprintf(name, "VarDateFromBool");
break;
case 97:
- asprintf(&name, "VarFormatDateTime");
+ sprintf(name, "VarFormatDateTime");
break;
case 98:
- asprintf(&name, "VarCyFromUI1");
+ sprintf(name, "VarCyFromUI1");
break;
case 99:
- asprintf(&name, "VarCyFromI2");
+ sprintf(name, "VarCyFromI2");
break;
case 100:
- asprintf(&name, "VarCyFromI4");
+ sprintf(name, "VarCyFromI4");
break;
case 101:
- asprintf(&name, "VarCyFromR4");
+ sprintf(name, "VarCyFromR4");
break;
case 102:
- asprintf(&name, "VarCyFromR8");
+ sprintf(name, "VarCyFromR8");
break;
case 103:
- asprintf(&name, "VarCyFromDate");
+ sprintf(name, "VarCyFromDate");
break;
case 104:
- asprintf(&name, "VarCyFromStr");
+ sprintf(name, "VarCyFromStr");
break;
case 105:
- asprintf(&name, "VarCyFromDisp");
+ sprintf(name, "VarCyFromDisp");
break;
case 106:
- asprintf(&name, "VarCyFromBool");
+ sprintf(name, "VarCyFromBool");
break;
case 107:
- asprintf(&name, "VarFormatNumber");
+ sprintf(name, "VarFormatNumber");
break;
case 108:
- asprintf(&name, "VarBstrFromUI1");
+ sprintf(name, "VarBstrFromUI1");
break;
case 109:
- asprintf(&name, "VarBstrFromI2");
+ sprintf(name, "VarBstrFromI2");
break;
case 110:
- asprintf(&name, "VarBstrFromI4");
+ sprintf(name, "VarBstrFromI4");
break;
case 111:
- asprintf(&name, "VarBstrFromR4");
+ sprintf(name, "VarBstrFromR4");
break;
case 112:
- asprintf(&name, "VarBstrFromR8");
+ sprintf(name, "VarBstrFromR8");
break;
case 113:
- asprintf(&name, "VarBstrFromCy");
+ sprintf(name, "VarBstrFromCy");
break;
case 114:
- asprintf(&name, "VarBstrFromDate");
+ sprintf(name, "VarBstrFromDate");
break;
case 115:
- asprintf(&name, "VarBstrFromDisp");
+ sprintf(name, "VarBstrFromDisp");
break;
case 116:
- asprintf(&name, "VarBstrFromBool");
+ sprintf(name, "VarBstrFromBool");
break;
case 117:
- asprintf(&name, "VarFormatPercent");
+ sprintf(name, "VarFormatPercent");
break;
case 118:
- asprintf(&name, "VarBoolFromUI1");
+ sprintf(name, "VarBoolFromUI1");
break;
case 119:
- asprintf(&name, "VarBoolFromI2");
+ sprintf(name, "VarBoolFromI2");
break;
case 120:
- asprintf(&name, "VarBoolFromI4");
+ sprintf(name, "VarBoolFromI4");
break;
case 121:
- asprintf(&name, "VarBoolFromR4");
+ sprintf(name, "VarBoolFromR4");
break;
case 122:
- asprintf(&name, "VarBoolFromR8");
+ sprintf(name, "VarBoolFromR8");
break;
case 123:
- asprintf(&name, "VarBoolFromDate");
+ sprintf(name, "VarBoolFromDate");
break;
case 124:
- asprintf(&name, "VarBoolFromCy");
+ sprintf(name, "VarBoolFromCy");
break;
case 125:
- asprintf(&name, "VarBoolFromStr");
+ sprintf(name, "VarBoolFromStr");
break;
case 126:
- asprintf(&name, "VarBoolFromDisp");
+ sprintf(name, "VarBoolFromDisp");
break;
case 127:
- asprintf(&name, "VarFormatCurrency");
+ sprintf(name, "VarFormatCurrency");
break;
case 128:
- asprintf(&name, "VarWeekdayName");
+ sprintf(name, "VarWeekdayName");
break;
case 129:
- asprintf(&name, "VarMonthName");
+ sprintf(name, "VarMonthName");
break;
case 130:
- asprintf(&name, "VarUI1FromI2");
+ sprintf(name, "VarUI1FromI2");
break;
case 131:
- asprintf(&name, "VarUI1FromI4");
+ sprintf(name, "VarUI1FromI4");
break;
case 132:
- asprintf(&name, "VarUI1FromR4");
+ sprintf(name, "VarUI1FromR4");
break;
case 133:
- asprintf(&name, "VarUI1FromR8");
+ sprintf(name, "VarUI1FromR8");
break;
case 134:
- asprintf(&name, "VarUI1FromCy");
+ sprintf(name, "VarUI1FromCy");
break;
case 135:
- asprintf(&name, "VarUI1FromDate");
+ sprintf(name, "VarUI1FromDate");
break;
case 136:
- asprintf(&name, "VarUI1FromStr");
+ sprintf(name, "VarUI1FromStr");
break;
case 137:
- asprintf(&name, "VarUI1FromDisp");
+ sprintf(name, "VarUI1FromDisp");
break;
case 138:
- asprintf(&name, "VarUI1FromBool");
+ sprintf(name, "VarUI1FromBool");
break;
case 139:
- asprintf(&name, "VarFormatFromTokens");
+ sprintf(name, "VarFormatFromTokens");
break;
case 140:
- asprintf(&name, "VarTokenizeFormatString");
+ sprintf(name, "VarTokenizeFormatString");
break;
case 141:
- asprintf(&name, "VarAdd");
+ sprintf(name, "VarAdd");
break;
case 142:
- asprintf(&name, "VarAnd");
+ sprintf(name, "VarAnd");
break;
case 143:
- asprintf(&name, "VarDiv");
+ sprintf(name, "VarDiv");
break;
case 144:
- asprintf(&name, "DllCanUnloadNow");
+ sprintf(name, "DllCanUnloadNow");
break;
case 145:
- asprintf(&name, "DllGetClassObject");
+ sprintf(name, "DllGetClassObject");
break;
case 146:
- asprintf(&name, "DispCallFunc");
+ sprintf(name, "DispCallFunc");
break;
case 147:
- asprintf(&name, "VariantChangeTypeEx");
+ sprintf(name, "VariantChangeTypeEx");
break;
case 148:
- asprintf(&name, "SafeArrayPtrOfIndex");
+ sprintf(name, "SafeArrayPtrOfIndex");
break;
case 149:
- asprintf(&name, "SysStringByteLen");
+ sprintf(name, "SysStringByteLen");
break;
case 150:
- asprintf(&name, "SysAllocStringByteLen");
+ sprintf(name, "SysAllocStringByteLen");
break;
case 151:
- asprintf(&name, "DllRegisterServer");
+ sprintf(name, "DllRegisterServer");
break;
case 152:
- asprintf(&name, "VarEqv");
+ sprintf(name, "VarEqv");
break;
case 153:
- asprintf(&name, "VarIdiv");
+ sprintf(name, "VarIdiv");
break;
case 154:
- asprintf(&name, "VarImp");
+ sprintf(name, "VarImp");
break;
case 155:
- asprintf(&name, "VarMod");
+ sprintf(name, "VarMod");
break;
case 156:
- asprintf(&name, "VarMul");
+ sprintf(name, "VarMul");
break;
case 157:
- asprintf(&name, "VarOr");
+ sprintf(name, "VarOr");
break;
case 158:
- asprintf(&name, "VarPow");
+ sprintf(name, "VarPow");
break;
case 159:
- asprintf(&name, "VarSub");
+ sprintf(name, "VarSub");
break;
case 160:
- asprintf(&name, "CreateTypeLib");
+ sprintf(name, "CreateTypeLib");
break;
case 161:
- asprintf(&name, "LoadTypeLib");
+ sprintf(name, "LoadTypeLib");
break;
case 162:
- asprintf(&name, "LoadRegTypeLib");
+ sprintf(name, "LoadRegTypeLib");
break;
case 163:
- asprintf(&name, "RegisterTypeLib");
+ sprintf(name, "RegisterTypeLib");
break;
case 164:
- asprintf(&name, "QueryPathOfRegTypeLib");
+ sprintf(name, "QueryPathOfRegTypeLib");
break;
case 165:
- asprintf(&name, "LHashValOfNameSys");
+ sprintf(name, "LHashValOfNameSys");
break;
case 166:
- asprintf(&name, "LHashValOfNameSysA");
+ sprintf(name, "LHashValOfNameSysA");
break;
case 167:
- asprintf(&name, "VarXor");
+ sprintf(name, "VarXor");
break;
case 168:
- asprintf(&name, "VarAbs");
+ sprintf(name, "VarAbs");
break;
case 169:
- asprintf(&name, "VarFix");
+ sprintf(name, "VarFix");
break;
case 170:
- asprintf(&name, "OaBuildVersion");
+ sprintf(name, "OaBuildVersion");
break;
case 171:
- asprintf(&name, "ClearCustData");
+ sprintf(name, "ClearCustData");
break;
case 172:
- asprintf(&name, "VarInt");
+ sprintf(name, "VarInt");
break;
case 173:
- asprintf(&name, "VarNeg");
+ sprintf(name, "VarNeg");
break;
case 174:
- asprintf(&name, "VarNot");
+ sprintf(name, "VarNot");
break;
case 175:
- asprintf(&name, "VarRound");
+ sprintf(name, "VarRound");
break;
case 176:
- asprintf(&name, "VarCmp");
+ sprintf(name, "VarCmp");
break;
case 177:
- asprintf(&name, "VarDecAdd");
+ sprintf(name, "VarDecAdd");
break;
case 178:
- asprintf(&name, "VarDecDiv");
+ sprintf(name, "VarDecDiv");
break;
case 179:
- asprintf(&name, "VarDecMul");
+ sprintf(name, "VarDecMul");
break;
case 180:
- asprintf(&name, "CreateTypeLib2");
+ sprintf(name, "CreateTypeLib2");
break;
case 181:
- asprintf(&name, "VarDecSub");
+ sprintf(name, "VarDecSub");
break;
case 182:
- asprintf(&name, "VarDecAbs");
+ sprintf(name, "VarDecAbs");
break;
case 183:
- asprintf(&name, "LoadTypeLibEx");
+ sprintf(name, "LoadTypeLibEx");
break;
case 184:
- asprintf(&name, "SystemTimeToVariantTime");
+ sprintf(name, "SystemTimeToVariantTime");
break;
case 185:
- asprintf(&name, "VariantTimeToSystemTime");
+ sprintf(name, "VariantTimeToSystemTime");
break;
case 186:
- asprintf(&name, "UnRegisterTypeLib");
+ sprintf(name, "UnRegisterTypeLib");
break;
case 187:
- asprintf(&name, "VarDecFix");
+ sprintf(name, "VarDecFix");
break;
case 188:
- asprintf(&name, "VarDecInt");
+ sprintf(name, "VarDecInt");
break;
case 189:
- asprintf(&name, "VarDecNeg");
+ sprintf(name, "VarDecNeg");
break;
case 190:
- asprintf(&name, "VarDecFromUI1");
+ sprintf(name, "VarDecFromUI1");
break;
case 191:
- asprintf(&name, "VarDecFromI2");
+ sprintf(name, "VarDecFromI2");
break;
case 192:
- asprintf(&name, "VarDecFromI4");
+ sprintf(name, "VarDecFromI4");
break;
case 193:
- asprintf(&name, "VarDecFromR4");
+ sprintf(name, "VarDecFromR4");
break;
case 194:
- asprintf(&name, "VarDecFromR8");
+ sprintf(name, "VarDecFromR8");
break;
case 195:
- asprintf(&name, "VarDecFromDate");
+ sprintf(name, "VarDecFromDate");
break;
case 196:
- asprintf(&name, "VarDecFromCy");
+ sprintf(name, "VarDecFromCy");
break;
case 197:
- asprintf(&name, "VarDecFromStr");
+ sprintf(name, "VarDecFromStr");
break;
case 198:
- asprintf(&name, "VarDecFromDisp");
+ sprintf(name, "VarDecFromDisp");
break;
case 199:
- asprintf(&name, "VarDecFromBool");
+ sprintf(name, "VarDecFromBool");
break;
case 200:
- asprintf(&name, "GetErrorInfo");
+ sprintf(name, "GetErrorInfo");
break;
case 201:
- asprintf(&name, "SetErrorInfo");
+ sprintf(name, "SetErrorInfo");
break;
case 202:
- asprintf(&name, "CreateErrorInfo");
+ sprintf(name, "CreateErrorInfo");
break;
case 203:
- asprintf(&name, "VarDecRound");
+ sprintf(name, "VarDecRound");
break;
case 204:
- asprintf(&name, "VarDecCmp");
+ sprintf(name, "VarDecCmp");
break;
case 205:
- asprintf(&name, "VarI2FromI1");
+ sprintf(name, "VarI2FromI1");
break;
case 206:
- asprintf(&name, "VarI2FromUI2");
+ sprintf(name, "VarI2FromUI2");
break;
case 207:
- asprintf(&name, "VarI2FromUI4");
+ sprintf(name, "VarI2FromUI4");
break;
case 208:
- asprintf(&name, "VarI2FromDec");
+ sprintf(name, "VarI2FromDec");
break;
case 209:
- asprintf(&name, "VarI4FromI1");
+ sprintf(name, "VarI4FromI1");
break;
case 210:
- asprintf(&name, "VarI4FromUI2");
+ sprintf(name, "VarI4FromUI2");
break;
case 211:
- asprintf(&name, "VarI4FromUI4");
+ sprintf(name, "VarI4FromUI4");
break;
case 212:
- asprintf(&name, "VarI4FromDec");
+ sprintf(name, "VarI4FromDec");
break;
case 213:
- asprintf(&name, "VarR4FromI1");
+ sprintf(name, "VarR4FromI1");
break;
case 214:
- asprintf(&name, "VarR4FromUI2");
+ sprintf(name, "VarR4FromUI2");
break;
case 215:
- asprintf(&name, "VarR4FromUI4");
+ sprintf(name, "VarR4FromUI4");
break;
case 216:
- asprintf(&name, "VarR4FromDec");
+ sprintf(name, "VarR4FromDec");
break;
case 217:
- asprintf(&name, "VarR8FromI1");
+ sprintf(name, "VarR8FromI1");
break;
case 218:
- asprintf(&name, "VarR8FromUI2");
+ sprintf(name, "VarR8FromUI2");
break;
case 219:
- asprintf(&name, "VarR8FromUI4");
+ sprintf(name, "VarR8FromUI4");
break;
case 220:
- asprintf(&name, "VarR8FromDec");
+ sprintf(name, "VarR8FromDec");
break;
case 221:
- asprintf(&name, "VarDateFromI1");
+ sprintf(name, "VarDateFromI1");
break;
case 222:
- asprintf(&name, "VarDateFromUI2");
+ sprintf(name, "VarDateFromUI2");
break;
case 223:
- asprintf(&name, "VarDateFromUI4");
+ sprintf(name, "VarDateFromUI4");
break;
case 224:
- asprintf(&name, "VarDateFromDec");
+ sprintf(name, "VarDateFromDec");
break;
case 225:
- asprintf(&name, "VarCyFromI1");
+ sprintf(name, "VarCyFromI1");
break;
case 226:
- asprintf(&name, "VarCyFromUI2");
+ sprintf(name, "VarCyFromUI2");
break;
case 227:
- asprintf(&name, "VarCyFromUI4");
+ sprintf(name, "VarCyFromUI4");
break;
case 228:
- asprintf(&name, "VarCyFromDec");
+ sprintf(name, "VarCyFromDec");
break;
case 229:
- asprintf(&name, "VarBstrFromI1");
+ sprintf(name, "VarBstrFromI1");
break;
case 230:
- asprintf(&name, "VarBstrFromUI2");
+ sprintf(name, "VarBstrFromUI2");
break;
case 231:
- asprintf(&name, "VarBstrFromUI4");
+ sprintf(name, "VarBstrFromUI4");
break;
case 232:
- asprintf(&name, "VarBstrFromDec");
+ sprintf(name, "VarBstrFromDec");
break;
case 233:
- asprintf(&name, "VarBoolFromI1");
+ sprintf(name, "VarBoolFromI1");
break;
case 234:
- asprintf(&name, "VarBoolFromUI2");
+ sprintf(name, "VarBoolFromUI2");
break;
case 235:
- asprintf(&name, "VarBoolFromUI4");
+ sprintf(name, "VarBoolFromUI4");
break;
case 236:
- asprintf(&name, "VarBoolFromDec");
+ sprintf(name, "VarBoolFromDec");
break;
case 237:
- asprintf(&name, "VarUI1FromI1");
+ sprintf(name, "VarUI1FromI1");
break;
case 238:
- asprintf(&name, "VarUI1FromUI2");
+ sprintf(name, "VarUI1FromUI2");
break;
case 239:
- asprintf(&name, "VarUI1FromUI4");
+ sprintf(name, "VarUI1FromUI4");
break;
case 240:
- asprintf(&name, "VarUI1FromDec");
+ sprintf(name, "VarUI1FromDec");
break;
case 241:
- asprintf(&name, "VarDecFromI1");
+ sprintf(name, "VarDecFromI1");
break;
case 242:
- asprintf(&name, "VarDecFromUI2");
+ sprintf(name, "VarDecFromUI2");
break;
case 243:
- asprintf(&name, "VarDecFromUI4");
+ sprintf(name, "VarDecFromUI4");
break;
case 244:
- asprintf(&name, "VarI1FromUI1");
+ sprintf(name, "VarI1FromUI1");
break;
case 245:
- asprintf(&name, "VarI1FromI2");
+ sprintf(name, "VarI1FromI2");
break;
case 246:
- asprintf(&name, "VarI1FromI4");
+ sprintf(name, "VarI1FromI4");
break;
case 247:
- asprintf(&name, "VarI1FromR4");
+ sprintf(name, "VarI1FromR4");
break;
case 248:
- asprintf(&name, "VarI1FromR8");
+ sprintf(name, "VarI1FromR8");
break;
case 249:
- asprintf(&name, "VarI1FromDate");
+ sprintf(name, "VarI1FromDate");
break;
case 250:
- asprintf(&name, "VarI1FromCy");
+ sprintf(name, "VarI1FromCy");
break;
case 251:
- asprintf(&name, "VarI1FromStr");
+ sprintf(name, "VarI1FromStr");
break;
case 252:
- asprintf(&name, "VarI1FromDisp");
+ sprintf(name, "VarI1FromDisp");
break;
case 253:
- asprintf(&name, "VarI1FromBool");
+ sprintf(name, "VarI1FromBool");
break;
case 254:
- asprintf(&name, "VarI1FromUI2");
+ sprintf(name, "VarI1FromUI2");
break;
case 255:
- asprintf(&name, "VarI1FromUI4");
+ sprintf(name, "VarI1FromUI4");
break;
case 256:
- asprintf(&name, "VarI1FromDec");
+ sprintf(name, "VarI1FromDec");
break;
case 257:
- asprintf(&name, "VarUI2FromUI1");
+ sprintf(name, "VarUI2FromUI1");
break;
case 258:
- asprintf(&name, "VarUI2FromI2");
+ sprintf(name, "VarUI2FromI2");
break;
case 259:
- asprintf(&name, "VarUI2FromI4");
+ sprintf(name, "VarUI2FromI4");
break;
case 260:
- asprintf(&name, "VarUI2FromR4");
+ sprintf(name, "VarUI2FromR4");
break;
case 261:
- asprintf(&name, "VarUI2FromR8");
+ sprintf(name, "VarUI2FromR8");
break;
case 262:
- asprintf(&name, "VarUI2FromDate");
+ sprintf(name, "VarUI2FromDate");
break;
case 263:
- asprintf(&name, "VarUI2FromCy");
+ sprintf(name, "VarUI2FromCy");
break;
case 264:
- asprintf(&name, "VarUI2FromStr");
+ sprintf(name, "VarUI2FromStr");
break;
case 265:
- asprintf(&name, "VarUI2FromDisp");
+ sprintf(name, "VarUI2FromDisp");
break;
case 266:
- asprintf(&name, "VarUI2FromBool");
+ sprintf(name, "VarUI2FromBool");
break;
case 267:
- asprintf(&name, "VarUI2FromI1");
+ sprintf(name, "VarUI2FromI1");
break;
case 268:
- asprintf(&name, "VarUI2FromUI4");
+ sprintf(name, "VarUI2FromUI4");
break;
case 269:
- asprintf(&name, "VarUI2FromDec");
+ sprintf(name, "VarUI2FromDec");
break;
case 270:
- asprintf(&name, "VarUI4FromUI1");
+ sprintf(name, "VarUI4FromUI1");
break;
case 271:
- asprintf(&name, "VarUI4FromI2");
+ sprintf(name, "VarUI4FromI2");
break;
case 272:
- asprintf(&name, "VarUI4FromI4");
+ sprintf(name, "VarUI4FromI4");
break;
case 273:
- asprintf(&name, "VarUI4FromR4");
+ sprintf(name, "VarUI4FromR4");
break;
case 274:
- asprintf(&name, "VarUI4FromR8");
+ sprintf(name, "VarUI4FromR8");
break;
case 275:
- asprintf(&name, "VarUI4FromDate");
+ sprintf(name, "VarUI4FromDate");
break;
case 276:
- asprintf(&name, "VarUI4FromCy");
+ sprintf(name, "VarUI4FromCy");
break;
case 277:
- asprintf(&name, "VarUI4FromStr");
+ sprintf(name, "VarUI4FromStr");
break;
case 278:
- asprintf(&name, "VarUI4FromDisp");
+ sprintf(name, "VarUI4FromDisp");
break;
case 279:
- asprintf(&name, "VarUI4FromBool");
+ sprintf(name, "VarUI4FromBool");
break;
case 280:
- asprintf(&name, "VarUI4FromI1");
+ sprintf(name, "VarUI4FromI1");
break;
case 281:
- asprintf(&name, "VarUI4FromUI2");
+ sprintf(name, "VarUI4FromUI2");
break;
case 282:
- asprintf(&name, "VarUI4FromDec");
+ sprintf(name, "VarUI4FromDec");
break;
case 283:
- asprintf(&name, "BSTR_UserSize");
+ sprintf(name, "BSTR_UserSize");
break;
case 284:
- asprintf(&name, "BSTR_UserMarshal");
+ sprintf(name, "BSTR_UserMarshal");
break;
case 285:
- asprintf(&name, "BSTR_UserUnmarshal");
+ sprintf(name, "BSTR_UserUnmarshal");
break;
case 286:
- asprintf(&name, "BSTR_UserFree");
+ sprintf(name, "BSTR_UserFree");
break;
case 287:
- asprintf(&name, "VARIANT_UserSize");
+ sprintf(name, "VARIANT_UserSize");
break;
case 288:
- asprintf(&name, "VARIANT_UserMarshal");
+ sprintf(name, "VARIANT_UserMarshal");
break;
case 289:
- asprintf(&name, "VARIANT_UserUnmarshal");
+ sprintf(name, "VARIANT_UserUnmarshal");
break;
case 290:
- asprintf(&name, "VARIANT_UserFree");
+ sprintf(name, "VARIANT_UserFree");
break;
case 291:
- asprintf(&name, "LPSAFEARRAY_UserSize");
+ sprintf(name, "LPSAFEARRAY_UserSize");
break;
case 292:
- asprintf(&name, "LPSAFEARRAY_UserMarshal");
+ sprintf(name, "LPSAFEARRAY_UserMarshal");
break;
case 293:
- asprintf(&name, "LPSAFEARRAY_UserUnmarshal");
+ sprintf(name, "LPSAFEARRAY_UserUnmarshal");
break;
case 294:
- asprintf(&name, "LPSAFEARRAY_UserFree");
+ sprintf(name, "LPSAFEARRAY_UserFree");
break;
case 295:
- asprintf(&name, "LPSAFEARRAY_Size");
+ sprintf(name, "LPSAFEARRAY_Size");
break;
case 296:
- asprintf(&name, "LPSAFEARRAY_Marshal");
+ sprintf(name, "LPSAFEARRAY_Marshal");
break;
case 297:
- asprintf(&name, "LPSAFEARRAY_Unmarshal");
+ sprintf(name, "LPSAFEARRAY_Unmarshal");
break;
case 298:
- asprintf(&name, "VarDecCmpR8");
+ sprintf(name, "VarDecCmpR8");
break;
case 299:
- asprintf(&name, "VarCyAdd");
+ sprintf(name, "VarCyAdd");
break;
case 300:
- asprintf(&name, "DllUnregisterServer");
+ sprintf(name, "DllUnregisterServer");
break;
case 301:
- asprintf(&name, "OACreateTypeLib2");
+ sprintf(name, "OACreateTypeLib2");
break;
case 303:
- asprintf(&name, "VarCyMul");
+ sprintf(name, "VarCyMul");
break;
case 304:
- asprintf(&name, "VarCyMulI4");
+ sprintf(name, "VarCyMulI4");
break;
case 305:
- asprintf(&name, "VarCySub");
+ sprintf(name, "VarCySub");
break;
case 306:
- asprintf(&name, "VarCyAbs");
+ sprintf(name, "VarCyAbs");
break;
case 307:
- asprintf(&name, "VarCyFix");
+ sprintf(name, "VarCyFix");
break;
case 308:
- asprintf(&name, "VarCyInt");
+ sprintf(name, "VarCyInt");
break;
case 309:
- asprintf(&name, "VarCyNeg");
+ sprintf(name, "VarCyNeg");
break;
case 310:
- asprintf(&name, "VarCyRound");
+ sprintf(name, "VarCyRound");
break;
case 311:
- asprintf(&name, "VarCyCmp");
+ sprintf(name, "VarCyCmp");
break;
case 312:
- asprintf(&name, "VarCyCmpR8");
+ sprintf(name, "VarCyCmpR8");
break;
case 313:
- asprintf(&name, "VarBstrCat");
+ sprintf(name, "VarBstrCat");
break;
case 314:
- asprintf(&name, "VarBstrCmp");
+ sprintf(name, "VarBstrCmp");
break;
case 315:
- asprintf(&name, "VarR8Pow");
+ sprintf(name, "VarR8Pow");
break;
case 316:
- asprintf(&name, "VarR4CmpR8");
+ sprintf(name, "VarR4CmpR8");
break;
case 317:
- asprintf(&name, "VarR8Round");
+ sprintf(name, "VarR8Round");
break;
case 318:
- asprintf(&name, "VarCat");
+ sprintf(name, "VarCat");
break;
case 319:
- asprintf(&name, "VarDateFromUdateEx");
+ sprintf(name, "VarDateFromUdateEx");
break;
case 322:
- asprintf(&name, "GetRecordInfoFromGuids");
+ sprintf(name, "GetRecordInfoFromGuids");
break;
case 323:
- asprintf(&name, "GetRecordInfoFromTypeInfo");
+ sprintf(name, "GetRecordInfoFromTypeInfo");
break;
case 325:
- asprintf(&name, "SetVarConversionLocaleSetting");
+ sprintf(name, "SetVarConversionLocaleSetting");
break;
case 326:
- asprintf(&name, "GetVarConversionLocaleSetting");
+ sprintf(name, "GetVarConversionLocaleSetting");
break;
case 327:
- asprintf(&name, "SetOaNoCache");
+ sprintf(name, "SetOaNoCache");
break;
case 329:
- asprintf(&name, "VarCyMulI8");
+ sprintf(name, "VarCyMulI8");
break;
case 330:
- asprintf(&name, "VarDateFromUdate");
+ sprintf(name, "VarDateFromUdate");
break;
case 331:
- asprintf(&name, "VarUdateFromDate");
+ sprintf(name, "VarUdateFromDate");
break;
case 332:
- asprintf(&name, "GetAltMonthNames");
+ sprintf(name, "GetAltMonthNames");
break;
case 333:
- asprintf(&name, "VarI8FromUI1");
+ sprintf(name, "VarI8FromUI1");
break;
case 334:
- asprintf(&name, "VarI8FromI2");
+ sprintf(name, "VarI8FromI2");
break;
case 335:
- asprintf(&name, "VarI8FromR4");
+ sprintf(name, "VarI8FromR4");
break;
case 336:
- asprintf(&name, "VarI8FromR8");
+ sprintf(name, "VarI8FromR8");
break;
case 337:
- asprintf(&name, "VarI8FromCy");
+ sprintf(name, "VarI8FromCy");
break;
case 338:
- asprintf(&name, "VarI8FromDate");
+ sprintf(name, "VarI8FromDate");
break;
case 339:
- asprintf(&name, "VarI8FromStr");
+ sprintf(name, "VarI8FromStr");
break;
case 340:
- asprintf(&name, "VarI8FromDisp");
+ sprintf(name, "VarI8FromDisp");
break;
case 341:
- asprintf(&name, "VarI8FromBool");
+ sprintf(name, "VarI8FromBool");
break;
case 342:
- asprintf(&name, "VarI8FromI1");
+ sprintf(name, "VarI8FromI1");
break;
case 343:
- asprintf(&name, "VarI8FromUI2");
+ sprintf(name, "VarI8FromUI2");
break;
case 344:
- asprintf(&name, "VarI8FromUI4");
+ sprintf(name, "VarI8FromUI4");
break;
case 345:
- asprintf(&name, "VarI8FromDec");
+ sprintf(name, "VarI8FromDec");
break;
case 346:
- asprintf(&name, "VarI2FromI8");
+ sprintf(name, "VarI2FromI8");
break;
case 347:
- asprintf(&name, "VarI2FromUI8");
+ sprintf(name, "VarI2FromUI8");
break;
case 348:
- asprintf(&name, "VarI4FromI8");
+ sprintf(name, "VarI4FromI8");
break;
case 349:
- asprintf(&name, "VarI4FromUI8");
+ sprintf(name, "VarI4FromUI8");
break;
case 360:
- asprintf(&name, "VarR4FromI8");
+ sprintf(name, "VarR4FromI8");
break;
case 361:
- asprintf(&name, "VarR4FromUI8");
+ sprintf(name, "VarR4FromUI8");
break;
case 362:
- asprintf(&name, "VarR8FromI8");
+ sprintf(name, "VarR8FromI8");
break;
case 363:
- asprintf(&name, "VarR8FromUI8");
+ sprintf(name, "VarR8FromUI8");
break;
case 364:
- asprintf(&name, "VarDateFromI8");
+ sprintf(name, "VarDateFromI8");
break;
case 365:
- asprintf(&name, "VarDateFromUI8");
+ sprintf(name, "VarDateFromUI8");
break;
case 366:
- asprintf(&name, "VarCyFromI8");
+ sprintf(name, "VarCyFromI8");
break;
case 367:
- asprintf(&name, "VarCyFromUI8");
+ sprintf(name, "VarCyFromUI8");
break;
case 368:
- asprintf(&name, "VarBstrFromI8");
+ sprintf(name, "VarBstrFromI8");
break;
case 369:
- asprintf(&name, "VarBstrFromUI8");
+ sprintf(name, "VarBstrFromUI8");
break;
case 370:
- asprintf(&name, "VarBoolFromI8");
+ sprintf(name, "VarBoolFromI8");
break;
case 371:
- asprintf(&name, "VarBoolFromUI8");
+ sprintf(name, "VarBoolFromUI8");
break;
case 372:
- asprintf(&name, "VarUI1FromI8");
+ sprintf(name, "VarUI1FromI8");
break;
case 373:
- asprintf(&name, "VarUI1FromUI8");
+ sprintf(name, "VarUI1FromUI8");
break;
case 374:
- asprintf(&name, "VarDecFromI8");
+ sprintf(name, "VarDecFromI8");
break;
case 375:
- asprintf(&name, "VarDecFromUI8");
+ sprintf(name, "VarDecFromUI8");
break;
case 376:
- asprintf(&name, "VarI1FromI8");
+ sprintf(name, "VarI1FromI8");
break;
case 377:
- asprintf(&name, "VarI1FromUI8");
+ sprintf(name, "VarI1FromUI8");
break;
case 378:
- asprintf(&name, "VarUI2FromI8");
+ sprintf(name, "VarUI2FromI8");
break;
case 379:
- asprintf(&name, "VarUI2FromUI8");
+ sprintf(name, "VarUI2FromUI8");
break;
case 401:
- asprintf(&name, "OleLoadPictureEx");
+ sprintf(name, "OleLoadPictureEx");
break;
case 402:
- asprintf(&name, "OleLoadPictureFileEx");
+ sprintf(name, "OleLoadPictureFileEx");
break;
case 411:
- asprintf(&name, "SafeArrayCreateVector");
+ sprintf(name, "SafeArrayCreateVector");
break;
case 412:
- asprintf(&name, "SafeArrayCopyData");
+ sprintf(name, "SafeArrayCopyData");
break;
case 413:
- asprintf(&name, "VectorFromBstr");
+ sprintf(name, "VectorFromBstr");
break;
case 414:
- asprintf(&name, "BstrFromVector");
+ sprintf(name, "BstrFromVector");
break;
case 415:
- asprintf(&name, "OleIconToCursor");
+ sprintf(name, "OleIconToCursor");
break;
case 416:
- asprintf(&name, "OleCreatePropertyFrameIndirect");
+ sprintf(name, "OleCreatePropertyFrameIndirect");
break;
case 417:
- asprintf(&name, "OleCreatePropertyFrame");
+ sprintf(name, "OleCreatePropertyFrame");
break;
case 418:
- asprintf(&name, "OleLoadPicture");
+ sprintf(name, "OleLoadPicture");
break;
case 419:
- asprintf(&name, "OleCreatePictureIndirect");
+ sprintf(name, "OleCreatePictureIndirect");
break;
case 420:
- asprintf(&name, "OleCreateFontIndirect");
+ sprintf(name, "OleCreateFontIndirect");
break;
case 421:
- asprintf(&name, "OleTranslateColor");
+ sprintf(name, "OleTranslateColor");
break;
case 422:
- asprintf(&name, "OleLoadPictureFile");
+ sprintf(name, "OleLoadPictureFile");
break;
case 423:
- asprintf(&name, "OleSavePictureFile");
+ sprintf(name, "OleSavePictureFile");
break;
case 424:
- asprintf(&name, "OleLoadPicturePath");
+ sprintf(name, "OleLoadPicturePath");
break;
case 425:
- asprintf(&name, "VarUI4FromI8");
+ sprintf(name, "VarUI4FromI8");
break;
case 426:
- asprintf(&name, "VarUI4FromUI8");
+ sprintf(name, "VarUI4FromUI8");
break;
case 427:
- asprintf(&name, "VarI8FromUI8");
+ sprintf(name, "VarI8FromUI8");
break;
case 428:
- asprintf(&name, "VarUI8FromI8");
+ sprintf(name, "VarUI8FromI8");
break;
case 429:
- asprintf(&name, "VarUI8FromUI1");
+ sprintf(name, "VarUI8FromUI1");
break;
case 430:
- asprintf(&name, "VarUI8FromI2");
+ sprintf(name, "VarUI8FromI2");
break;
case 431:
- asprintf(&name, "VarUI8FromR4");
+ sprintf(name, "VarUI8FromR4");
break;
case 432:
- asprintf(&name, "VarUI8FromR8");
+ sprintf(name, "VarUI8FromR8");
break;
case 433:
- asprintf(&name, "VarUI8FromCy");
+ sprintf(name, "VarUI8FromCy");
break;
case 434:
- asprintf(&name, "VarUI8FromDate");
+ sprintf(name, "VarUI8FromDate");
break;
case 435:
- asprintf(&name, "VarUI8FromStr");
+ sprintf(name, "VarUI8FromStr");
break;
case 436:
- asprintf(&name, "VarUI8FromDisp");
+ sprintf(name, "VarUI8FromDisp");
break;
case 437:
- asprintf(&name, "VarUI8FromBool");
+ sprintf(name, "VarUI8FromBool");
break;
case 438:
- asprintf(&name, "VarUI8FromI1");
+ sprintf(name, "VarUI8FromI1");
break;
case 439:
- asprintf(&name, "VarUI8FromUI2");
+ sprintf(name, "VarUI8FromUI2");
break;
case 440:
- asprintf(&name, "VarUI8FromUI4");
+ sprintf(name, "VarUI8FromUI4");
break;
case 441:
- asprintf(&name, "VarUI8FromDec");
+ sprintf(name, "VarUI8FromDec");
break;
case 442:
- asprintf(&name, "RegisterTypeLibForUser");
+ sprintf(name, "RegisterTypeLibForUser");
break;
case 443:
- asprintf(&name, "UnRegisterTypeLibForUser");
+ sprintf(name, "UnRegisterTypeLibForUser");
break;
default:
break;
}
}
- if (!name)
- asprintf(&name, "ord%u", ord);
- return name;
+
+ if (name[0] == '\0')
+ return NULL;
+
+ return yr_strdup(name);
}
@@ -2181,17 +2185,8 @@ IMPORTED_FUNCTION* pe_parse_import_descriptor(
PIMAGE_IMPORT_BY_NAME import = (PIMAGE_IMPORT_BY_NAME) \
(pe->data + offset);
- // Make sure there is a NULL byte somewhere between
- // import->Name and the end of PE. If strnlen() can't find the
- // end of the string, it will return the number of bytes until
- // the end of PE.
-
- int name_length = strnlen(
- (char *) import->Name,
- available_space(pe, import->Name));
-
- if (name_length < available_space(pe, import->Name))
- name = (char *) import->Name;
+ name = (char *) yr_strndup(
+ import->Name, available_space(pe, import->Name));
}
}
else
@@ -2205,7 +2200,7 @@ IMPORTED_FUNCTION* pe_parse_import_descriptor(
IMPORTED_FUNCTION* imported_func = (IMPORTED_FUNCTION*)
yr_calloc(1, sizeof(IMPORTED_FUNCTION));
- imported_func->name = yr_strdup(name);
+ imported_func->name = name;
imported_func->next = NULL;
if (head == NULL)
@@ -2239,17 +2234,8 @@ IMPORTED_FUNCTION* pe_parse_import_descriptor(
PIMAGE_IMPORT_BY_NAME import = (PIMAGE_IMPORT_BY_NAME) \
(pe->data + offset);
- // Make sure there is a NULL byte somewhere between
- // import->Name and the end of PE. If strnlen() can't find the
- // end of the string, it will return the number of bytes until
- // the end of PE.
-
- int name_length = strnlen(
- (char *) import->Name,
- available_space(pe, import->Name));
-
- if (name_length < available_space(pe, import->Name))
- name = (char *) import->Name;
+ name = (char *) yr_strndup(
+ import->Name, available_space(pe, import->Name));
}
}
else
@@ -2263,7 +2249,7 @@ IMPORTED_FUNCTION* pe_parse_import_descriptor(
IMPORTED_FUNCTION* imported_func = (IMPORTED_FUNCTION*)
yr_calloc(1, sizeof(IMPORTED_FUNCTION));
- imported_func->name = yr_strdup(name);
+ imported_func->name = name;
imported_func->next = NULL;
if (head == NULL)
@@ -2564,16 +2550,11 @@ define_function(imphash)
IMPORTED_DLL* dll = NULL;
IMPORTED_FUNCTION* func = NULL;
- char *dll_name;
- char *final_name;
- size_t len;
-
MD5_CTX ctx;
unsigned char digest[MD5_DIGEST_LENGTH];
char digest_ascii[MD5_DIGEST_LENGTH * 2 + 1];
-
- int first = 1;
+ int first = TRUE;
PE* pe = (PE*) module->data;
@@ -2588,6 +2569,8 @@ define_function(imphash)
while (dll)
{
+ size_t dll_name_len;
+
// If extension is 'ocx', 'sys' or 'dll', chop it.
char* ext = strstr(dll->name, ".");
@@ -2596,43 +2579,45 @@ define_function(imphash)
strncasecmp(ext, ".sys", 4) == 0 ||
strncasecmp(ext, ".dll", 4) == 0))
{
- len = (ext - dll->name) + 1;
+ dll_name_len = (ext - dll->name);
}
else
{
- len = strlen(dll->name) + 1;
+ dll_name_len = strlen(dll->name);
}
// Allocate a new string to hold the dll name.
- dll_name = (char *) yr_malloc(len);
- strlcpy(dll_name, dll->name, len);
+ char* dll_name = (char *) yr_malloc(dll_name_len + 1);
+ strlcpy(dll_name, dll->name, dll_name_len + 1);
func = dll->functions;
while (func)
{
- if (first == 1)
- {
- asprintf(&final_name, "%s.%s", dll_name, func->name);
- first = 0;
- }
- else
- {
- asprintf(&final_name, ",%s.%s", dll_name, func->name);
- }
+ size_t final_name_len = dll_name_len + strlen(func->name) + 1;
+
+ if (!first)
+ final_name_len++; // Additional byte to accommodate the extra comma
+
+ char* final_name = (char*) yr_malloc(final_name_len + 1);
+
+ if (final_name == NULL)
+ break;
+
+ sprintf(final_name, first ? "%s.%s": ",%s.%s", dll_name, func->name);
// Lowercase the whole thing.
- for (int i = 0; i < strlen(final_name); i++)
- {
+ for (int i = 0; i < final_name_len; i++)
final_name[i] = tolower(final_name[i]);
- }
- MD5_Update(&ctx, final_name, strlen(final_name));
+ MD5_Update(&ctx, final_name, final_name_len);
yr_free(final_name);
+
func = func->next;
+ first = FALSE;
}
yr_free(dll_name);
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/forensics/yara.git
More information about the forensics-changes
mailing list