From 0f65057aeda33ce714157087285bc19e69f86b1e Mon Sep 17 00:00:00 2001 From: Aric Stewart Date: Wed, 9 Feb 2005 13:26:16 +0000 Subject: [PATCH] Do not limit properties to 256 characters when evaluating them. --- dlls/msi/cond.y | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/dlls/msi/cond.y b/dlls/msi/cond.y index 255a23f555d..f6c731474de 100644 --- a/dlls/msi/cond.y +++ b/dlls/msi/cond.y @@ -448,14 +448,22 @@ symbol_s: { DWORD sz; COND_input* cond = (COND_input*) info; - $$ = HeapAlloc( GetProcessHeap(), 0, 0x100*sizeof (WCHAR) ); - /* Lookup the identifier */ - - sz=0x100; - if (MSI_GetPropertyW(cond->package,$1,$$,&sz) != ERROR_SUCCESS) + sz = 0; + MSI_GetPropertyW(cond->package, $1, NULL, &sz); + if (sz == 0) { - $$[0]=0; + $$ = HeapAlloc( GetProcessHeap(), 0 ,sizeof(WCHAR)); + $$[0] = 0; + } + else + { + sz ++; + $$ = HeapAlloc( GetProcessHeap(), 0, sz*sizeof (WCHAR) ); + + /* Lookup the identifier */ + + MSI_GetPropertyW(cond->package,$1,$$,&sz); } HeapFree( GetProcessHeap(), 0, $1 ); }