msiexec: Use FIELD_OFFSET to calculate the size of a struct with variable length array
Michael Stefaniuc
mstefani at redhat.de
Mon Nov 12 03:43:44 CST 2012
---
programs/msiexec/msiexec.c | 4 +---
1 files changed, 1 insertions(+), 3 deletions(-)
diff --git a/programs/msiexec/msiexec.c b/programs/msiexec/msiexec.c
index 2227af0..9b378c6 100644
--- a/programs/msiexec/msiexec.c
+++ b/programs/msiexec/msiexec.c
@@ -109,10 +109,8 @@ static BOOL IsProductCode(LPWSTR str)
static VOID StringListAppend(struct string_list **list, LPCWSTR str)
{
struct string_list *entry;
- DWORD size;
- size = sizeof *entry + lstrlenW(str) * sizeof (WCHAR);
- entry = HeapAlloc(GetProcessHeap(), 0, size);
+ entry = HeapAlloc(GetProcessHeap(), 0, FIELD_OFFSET(struct string_list, str[lstrlenW(str) + 1]));
if(!entry)
{
WINE_ERR("Out of memory!\n");
--
1.7.7.6
More information about the wine-patches
mailing list