DynamoRIO / DynamoRIO/drmemory
UNINIT in thousands running mspaint
- Dominant language
- C
- Stars
- 2.7k
- Forks
- 290
- PR merge metrics
- No merged PRs in 30d
Description
_From [bruen...@google.com](https://code.google.com/u/109494838902877177630/) on April 27, 2012 16:54:35_
after fixing DRi#608, DRi#609, DRi#759, and issue #877 , mspaint on win7 works
now under full mode. but, there are a lot of uninit errors reported!
ERRORS FOUND:
1 unique, 1 total unaddressable access(es)
579 unique, 7958 total uninitialized access(es)
0 unique, 0 total invalid heap argument(s)
0 unique, 0 total warning(s)
8 unique, 8 total, 16140 byte(s) of leak(s)
35 unique, 38 total, 29928 byte(s) of possible leak(s)
the unaddr may be a real bug in mspaint:
Error `#528`: UNADDRESSABLE ACCESS: reading 0x045877b0-0x045877b4 4 byte(s) within 0x04587788-0x045877b4
#0 system call NtGdiGetDIBitsInternal parameter `#5`
#1 GDI32.dll!GetDIBits +0xc1 (0x765360c3 )
#2 DibFromBitmap +0x13e (0x00bcef01 )
#3 CBitmapObj::SaveResource +0x1cca8 (0x00bcf067 )
#4 CPBDoc::Finish +0x3f (0x00bb239f )
#5 CPBDoc::CanCloseFrame +0xc (0x00bb2529 )
#6 MFC42u.dll!AfxWndProc +0x3f (0x71c387e2 )
#7 MFC42u.dll!AfxWndProcBase +0x56 (0x71c38919 )
#8 USER32.dll!InternalCallWinProc +0x22 (0x769e62fa )
#9 USER32.dll!UserCallWinProcCheckWow +0xb6 (0x769e6d3a )
#10 USER32.dll!CallWindowProcAorW +0x5d (0x769f0d27 )
#11 USER32.dll!CallWindowProcW +0x1a (0x769f0d4d )
Note: @0:00:43.252 in thread 6840
Note: next higher malloc: 0x04588228-0x0458824c
Note: refers to 1 byte(s) beyond last valid byte in prior malloc
Note: prev lower malloc: 0x04587788-0x045877b0
error source analysis:
% grep '^# 0' `ls -1td logs/D*|head -1`/r\* | awk '{print $3}' | sort | uniq -c | sort -n
1 DUser.dll!SetGadgetFillI
1 GDI32.dll!plfCreateLOCALFONT
1 KERNELBASE.dll!NlsStrLenW
1 UIRibbon.dll!Matrix3::ComputeRgn
1 UIRibbon.dll!OfficeSpace::FSControl::FEnabled
1 UIRibbon.dll!OfficeSpace::FSControl::FGetDataSourceChain
1 UIRibbon.dll!OfficeSpace::FSControl::FVisible
1 USER32.dll!DrawTextExWorker
1 USER32.dll!__fnHkINLPMSG
1 USER32.dll!__fnINOUTNCCALCSIZE
1 ntdll.dll!WinSqmStartSession
1 ole32.dll!wStringFromUUID
2 CPoint::operator!=
2 KERNELBASE.dll!LocalAlloc
2 MFC42u.dll!AfxSetWindowText
2 RSAENH.dll!AesCtrRng_Generate
2 UIRibbon.dll!NetUI::NUIFrame::UpdateDirectionChange
2 ntdll.dll!KiUserCallbackDispatcher
3 KERNELBASE.dll!TlsSetValue
3 UIRibbon.dll!OfficeSpace::FSControl::GetValue
3 msvcrt.dll!_calloc_impl
4 UIRibbon.dll!NetUI::Node::AddBinding
4 UIRibbon.dll!TB::UpdateDxyDockPri
4 XmlLite.dll!?
5 RPCRT4.dll!AllocWrapper
5 UIRibbon.dll!NetUI::Node::_PreSourceChange
5 UIRibbon.dll!NetUI::Node::_SetValue
6 USER32.dll!GetNextWordbreak
6 USP10.dll!SetInputBuffers
7 UIRibbon.dll!RTString::CompareNoCaseInvariant
8 UIRibbon.dll!OfficeSpace::FSControl::GetCommandOverrideValue
9 RPCRT4.dll!ULongToHexString
9 UIRibbon.dll!NetUI::Node::Lock::Lock
9 UIRibbon.dll!NetUI::Node::Lock::~Lock
11 UIRibbon.dll!NetUI::Node::InsertNodes
14 UIRibbon.dll!NetUI::DALLayout::InitializeFrame
14 system
15 UIRibbon.dll!NetUI::DALLayout::UpdateLayoutInfo
20 UIRibbon.dll!RTString::TrimRight
21 UIRibbon.dll!Matrix3::Translate
24 UIRibbon.dll!RTString::GetLength
26 UIRibbon.dll!OfficeSpace::FSList::GetValue
27 DUser.dll!DUserRegisterSuper
27 UIRibbon.dll!SetStandardInputFields
28 MSXML6.dll!MpHeapAlloc
28 UIRibbon.dll!RTString::~RTString
58 UIRibbon.dll!RTString::SetString
68 RSAENH.dll!AesExpandKey
128 RSAENH.dll!AesEncrypt
a bunch are in AesEncrypt (xref unaddr there in issue #504 ):
Error `#32`: UNINITIALIZED READ: reading register ecx
#0 RSAENH.dll!AesEncrypt +0x50 (0x74f41971 )
#1 RSAENH.dll!AesCtrRng_Generate +0xbb (0x74f42f01 )
#2 RSAENH.dll!AesCtrWithFipsChecks +0x102 (0x74f42e08 )
#3 RSAENH.dll!FIPS186GenRandom +0x13 (0x74f446af )
#4 RSAENH.dll!NTagLogonUser +0x1bc (0x74f448f2 )
#5 RSAENH.dll!CPAcquireContext +0x3e (0x74f446f7 )
#6 CRYPTSP.dll!CryptAcquireContextA +0x5f3 (0x74f84897 )
#7 CRYPTSP.dll!CryptAcquireContextW +0x96 (0x74f8647f )
#8 ole32.dll!CRandomNumberGenerator::Initialize +0x3477 (0x753ae9ad )
#9 ole32.dll!CRandomNumberGenerator::GenerateRandomNumber +0xc (0x753ab50f )
#10 ole32.dll!CStdMarshal::AddIPIDEntry +0x47 (0x753aaf41 )
#11 ole32.dll!CStdMarshal::MarshalServerIPID +0x59 (0x753ab48f )
Note: @0:00:09.540 in thread 6840
Note: instruction: mov 0x74f41c00(,%ecx,4) -> %ecx
and a lot in UIRibbon.dll. e.g.:
Error `#210`: UNINITIALIZED READ: reading register edx
#0 UIRibbon.dll!RTString::SetString +0x2c (0x7032b619 )
#1 UIRibbon.dll!NetUI::BinaryReader::ReadCustomConceptsBlock +0x3a4 (0x70378aa3 )
#2 UIRibbon.dll!NetUI::BinaryReader::ReadFile +0x58008 (0x70378d0b )
#3 UIRibbon.dll!NetUI::MarkupContainer::Parse +0xd0 (0x70321d4e )
#4 UIRibbon.dll!NetUI::MarkupContainer::ParseResource +0xa0 (0x7035251d )
#5 UIRibbon.dll!NetUI::MarkupContainer::ParseResourceA +0x14 (0x70352473 )
#6 UIRibbon.dll!NetUI::NUIDocument::OpenResourceA +0x56 (0x7039844e )
#7 UIRibbon.dll!DefaultNetUIWorkPaneCallback +0xb922b (0x70398391 )
#8 UIRibbon.dll!OfficeSpaceWorkPaneCallback +0x5b (0x702df103 )
#9 UIRibbon.dll!TBCWP::FCreatePane +0x6c (0x703958c9 )
#10 UIRibbon.dll!TBCWP::FShow +0x197 (0x703957f7 )
#11 UIRibbon.dll!OfficeSpaceRibbonToolbarUser::FSetToolbarControls +0x172 (0x70395649 )
Note: @0:00:15.368 in thread 6840
Note: instruction: cmp %edx $0x00000002
_Original issue: http://code.google.com/p/drmemory/issues/detail?id=878_
Contributor guide
Assessment
This issue has not been assessed yet.