mscms/tests: Allocate the profile buffer dynamically to make sure it's large enough.
This commit is contained in:
parent
33e1b6ffef
commit
106b900113
|
@ -760,13 +760,12 @@ static void test_GetStandardColorSpaceProfileW(void)
|
||||||
static void test_EnumColorProfilesA(void)
|
static void test_EnumColorProfilesA(void)
|
||||||
{
|
{
|
||||||
BOOL ret;
|
BOOL ret;
|
||||||
DWORD size, number;
|
DWORD total, size, number;
|
||||||
ENUMTYPEA record;
|
ENUMTYPEA record;
|
||||||
BYTE buffer[MAX_PATH];
|
BYTE *buffer;
|
||||||
|
|
||||||
/* Parameter checks */
|
/* Parameter checks */
|
||||||
|
|
||||||
size = sizeof(buffer);
|
|
||||||
memset( &record, 0, sizeof(ENUMTYPEA) );
|
memset( &record, 0, sizeof(ENUMTYPEA) );
|
||||||
|
|
||||||
record.dwSize = sizeof(ENUMTYPEA);
|
record.dwSize = sizeof(ENUMTYPEA);
|
||||||
|
@ -774,6 +773,12 @@ static void test_EnumColorProfilesA(void)
|
||||||
record.dwFields |= ET_DATACOLORSPACE;
|
record.dwFields |= ET_DATACOLORSPACE;
|
||||||
record.dwDataColorSpace = SPACE_RGB;
|
record.dwDataColorSpace = SPACE_RGB;
|
||||||
|
|
||||||
|
total = 0;
|
||||||
|
ret = pEnumColorProfilesA( NULL, &record, NULL, &total, &number );
|
||||||
|
ok( !ret, "EnumColorProfilesA() failed (%d)\n", GetLastError() );
|
||||||
|
buffer = HeapAlloc( GetProcessHeap(), 0, total );
|
||||||
|
|
||||||
|
size = total;
|
||||||
ret = pEnumColorProfilesA( machine, &record, buffer, &size, &number );
|
ret = pEnumColorProfilesA( machine, &record, buffer, &size, &number );
|
||||||
ok( !ret, "EnumColorProfilesA() succeeded (%d)\n", GetLastError() );
|
ok( !ret, "EnumColorProfilesA() succeeded (%d)\n", GetLastError() );
|
||||||
|
|
||||||
|
@ -798,23 +803,23 @@ static void test_EnumColorProfilesA(void)
|
||||||
|
|
||||||
if (standardprofile)
|
if (standardprofile)
|
||||||
{
|
{
|
||||||
size = sizeof(buffer);
|
size = total;
|
||||||
|
|
||||||
ret = pEnumColorProfilesA( NULL, &record, buffer, &size, &number );
|
ret = pEnumColorProfilesA( NULL, &record, buffer, &size, &number );
|
||||||
ok( ret, "EnumColorProfilesA() failed (%d)\n", GetLastError() );
|
ok( ret, "EnumColorProfilesA() failed (%d)\n", GetLastError() );
|
||||||
}
|
}
|
||||||
|
HeapFree( GetProcessHeap(), 0, buffer );
|
||||||
}
|
}
|
||||||
|
|
||||||
static void test_EnumColorProfilesW(void)
|
static void test_EnumColorProfilesW(void)
|
||||||
{
|
{
|
||||||
BOOL ret;
|
BOOL ret;
|
||||||
DWORD size, number;
|
DWORD total, size, number;
|
||||||
ENUMTYPEW record;
|
ENUMTYPEW record;
|
||||||
BYTE buffer[MAX_PATH * sizeof(WCHAR)];
|
BYTE *buffer;
|
||||||
|
|
||||||
/* Parameter checks */
|
/* Parameter checks */
|
||||||
|
|
||||||
size = sizeof(buffer);
|
|
||||||
memset( &record, 0, sizeof(ENUMTYPEW) );
|
memset( &record, 0, sizeof(ENUMTYPEW) );
|
||||||
|
|
||||||
record.dwSize = sizeof(ENUMTYPEW);
|
record.dwSize = sizeof(ENUMTYPEW);
|
||||||
|
@ -822,6 +827,12 @@ static void test_EnumColorProfilesW(void)
|
||||||
record.dwFields |= ET_DATACOLORSPACE;
|
record.dwFields |= ET_DATACOLORSPACE;
|
||||||
record.dwDataColorSpace = SPACE_RGB;
|
record.dwDataColorSpace = SPACE_RGB;
|
||||||
|
|
||||||
|
total = 0;
|
||||||
|
ret = pEnumColorProfilesW( NULL, &record, NULL, &total, &number );
|
||||||
|
ok( !ret, "EnumColorProfilesW() failed (%d)\n", GetLastError() );
|
||||||
|
buffer = HeapAlloc( GetProcessHeap(), 0, total * sizeof(WCHAR) );
|
||||||
|
|
||||||
|
size = total;
|
||||||
ret = pEnumColorProfilesW( machineW, &record, buffer, &size, &number );
|
ret = pEnumColorProfilesW( machineW, &record, buffer, &size, &number );
|
||||||
ok( !ret, "EnumColorProfilesW() succeeded (%d)\n", GetLastError() );
|
ok( !ret, "EnumColorProfilesW() succeeded (%d)\n", GetLastError() );
|
||||||
|
|
||||||
|
@ -833,7 +844,7 @@ static void test_EnumColorProfilesW(void)
|
||||||
|
|
||||||
if (standardprofileW)
|
if (standardprofileW)
|
||||||
{
|
{
|
||||||
ret = pEnumColorProfilesW( NULL, &record, buffer, &size, NULL );
|
ret = pEnumColorProfilesW( NULL, &record, buffer, &size, &number );
|
||||||
ok( ret, "EnumColorProfilesW() failed (%d)\n", GetLastError() );
|
ok( ret, "EnumColorProfilesW() failed (%d)\n", GetLastError() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -846,11 +857,12 @@ static void test_EnumColorProfilesW(void)
|
||||||
|
|
||||||
if (standardprofileW)
|
if (standardprofileW)
|
||||||
{
|
{
|
||||||
size = sizeof(buffer);
|
size = total;
|
||||||
|
|
||||||
ret = pEnumColorProfilesW( NULL, &record, buffer, &size, &number );
|
ret = pEnumColorProfilesW( NULL, &record, buffer, &size, &number );
|
||||||
ok( ret, "EnumColorProfilesW() failed (%d)\n", GetLastError() );
|
ok( ret, "EnumColorProfilesW() failed (%d)\n", GetLastError() );
|
||||||
}
|
}
|
||||||
|
HeapFree( GetProcessHeap(), 0, buffer );
|
||||||
}
|
}
|
||||||
|
|
||||||
static void test_InstallColorProfileA(void)
|
static void test_InstallColorProfileA(void)
|
||||||
|
|
Loading…
Reference in New Issue