DynamoRIO / DynamoRIO/drmemory

UNINIT reports below GetStandardColorSpaceProfile

Open
#546 1 comment 0 reactions 0 assignees View on GitHub
Migrated OpSys-Windows Priority-Medium
Dominant language
C
Stars
2.7k
Forks
290
PR merge metrics
No merged PRs in 30d

Description

_From [timurrrr@google.com](https://code.google.com/u/timurrrr@google.com/) on August 08, 2011 06:28:38_

As of r457 on XP 32-bits
#

#include
#include

#pragma comment(lib, "gdi32.lib")
#pragma comment(lib, "user32.lib")

int main() {
HDC hdc = GetDC(NULL);
assert(hdc);

const int WIDTH = 32, HEIGHT = 32, SIZE = WIDTH \* HEIGHT \* 3;
// 32x32 = 1024 = 0x400; 1024x3 = 3072 = 0x0c00.

BITMAPV5HEADER header = {0};
header.bV5Size = sizeof(BITMAPV5HEADER);
header.bV5Width = WIDTH;
header.bV5Height = HEIGHT;
header.bV5Planes = 1;
header.bV5Compression = BI_RGB;
header.bV5BitCount = 32;
header.bV5RedMask = 0x00FF0000;
header.bV5GreenMask = 0x0000FF00;
header.bV5BlueMask = 0x000000FF;
header.bV5AlphaMask = 0xFF000000;

// Use the system color space.
// See http://msdn.microsoft.com/en-us/library/ms536531(VS.85).aspx header.bV5CSType = LCS_WINDOWS_COLOR_SPACE;

// Use a valid value for bV5Intent as 0 is not a valid one.
// http://msdn.microsoft.com/en-us/library/dd183381(VS.85).aspx header.bV5Intent = LCS_GM_IMAGES;

void _data = NULL;
HBITMAP hbitmap = CreateDIBSection(hdc, (BITMAPINFO_)&header, DIB_RGB_COLORS, &data, 0, 0);
assert(hbitmap);
memset(data, 0, SIZE);

DeleteDC(hdc);
DeleteObject(hbitmap);

return 0;
}
#

Gives 10+ unique uninit reports, including:
Error `#3`: UNINITIALIZED READ: reading 0x77f549c0-0x77f549c2 2 byte(s)
0x1013b296 drmemorylib.dll!replace_wcslen
c:\cygwin\home\timurrrr\drmemory\drmemory\replace.c:322
0x7c809acc KERNEL32.dll!lstrlenW
0x73b319e4 mscms.dll!GetFilenameFromPath
0x73b31a78 mscms.dll!InternalGetColorDirectory
0x77f2b2f5 GDI32.dll!IcmInitialize
0x77f37535 GDI32.dll!IcmGetBitmapColorSpace
0x77f19ec1 GDI32.dll!CreateDIBSection
0x0041b5c5 test.exe!main
test.cpp:37

which is almost the same as http://build.chromium.org/p/chromium.fyi/builders/Windows%20Tests%20%28DrMemory%29/builds/4716/steps/memory%20test%3A%20unit_1/logs/stdio UNINITIALIZED READ: reading 0x77f549c0-0x77f549c2 2 byte(s)
#1 replace_wcslen drmemorylib.dll+0x38284 c:\src\drmemory\drmemory\replace.c:322
#2 ? mscms.dll+0x19e4
#3 ? mscms.dll+0x1a78
#4 AddFontResourceExA GDI32.dll+0x1b2f5
#5 PlayMetaFile GDI32.dll+0x27535
#6 CreateDIBSection GDI32.dll+0x9ec1
#7 IconUtil::CreateSkBitmapFromHICON ui\gfx\icon_util.cc:126
#8 TaskManagerBrowserProcessResource::TaskManagerBrowserProcessResource chrome\browser\task_manager\task_manager_resource_providers.cc:1210
#9 TaskManagerBrowserProcessResourceProvider::TaskManagerBrowserProcessResourceProvider chrome\browser\task_manager\task_manager_resource_providers.cc:1299
#10 TaskManagerModel::TaskManagerModel chrome\browser\task_manager\task_manager.cc:82
#11 TaskManager::TaskManager chrome\browser\task_manager\task_manager.cc:970
#12 TaskManagerTest_Basic_Test::TestBody chrome\browser\task_manager\task_manager_unittest.cc:59

and

Error `#11`: UNINITIALIZED READ: reading 0x0015b6a8-0x0015b6aa 2 byte(s)
@0:00:12.313 in thread 5556
0x1013b296 drmemorylib.dll!replace_wcslen
c:\cygwin\home\timurrrr\drmemory\drmemory\replace.c:322
0x7c809acc KERNEL32.dll!lstrlenW
0x73b319e4 mscms.dll!GetFilenameFromPath
0x73b31a78 mscms.dll!InternalGetColorDirectory
0x73b320c0 mscms.dll!InternalGetSCSProfile
0x77f2b37b GDI32.dll!IcmCreateColorSpaceByColorSpace
0x77f34e8b GDI32.dll!CreateDIBSection
0x0041b5c5 test.exe!main
c:\sandbox\539\test.cpp:37
which looks like
UNINITIALIZED READ: reading 0x23bf5730-0x23bf5732 2 byte(s)
#1 replace_wcslen drmemorylib.dll+0x38284 c:\src\drmemory\drmemory\replace.c:322
#2 ? mscms.dll+0x19e4
#3 ? mscms.dll+0x1a78
#4 GetStandardColorSpaceProfileW mscms.dll+0x20c0
#5 AddFontResourceExA GDI32.dll+0x1b37b
#6 GdiDllInitialize GDI32.dll+0x24e8b
#7 IconUtil::CreateSkBitmapFromHICON ui\gfx\icon_util.cc:126
#8 TaskManagerBrowserProcessResource::TaskManagerBrowserProcessResource chrome\browser\task_manager\task_manager_resource_providers.cc:1210
#9 TaskManagerBrowserProcessResourceProvider::TaskManagerBrowserProcessResourceProvider chrome\browser\task_manager\task_manager_resource_providers.cc:1299
#10 TaskManagerModel::TaskManagerModel chrome\browser\task_manager\task_manager.cc:82
#11 TaskManager::TaskManager chrome\browser\task_manager\task_manager.cc:970
#12 TaskManagerTest_Basic_Test::TestBody chrome\browser\task_manager\task_manager_unittest.cc:59

_Original issue: http://code.google.com/p/drmemory/issues/detail?id=546_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.