Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

replace WinAPI string routines StrChrW, etc. #1248

Open
derekbruening opened this issue Nov 28, 2014 · 1 comment
Open

replace WinAPI string routines StrChrW, etc. #1248

derekbruening opened this issue Nov 28, 2014 · 1 comment

Comments

@derekbruening
Copy link
Contributor

From bruen...@google.com on May 22, 2013 17:17:43

We should replace these WinAPI versions of the string routines. Win8 calc
hits this:

Error #11: UNINITIALIZED READ: reading register cx
#0 KERNELBASE.dll!StrChrW
#1 SHLWAPI.dll!SHStripMneumonicW +0x15 (0x753e5e7f <SHLWAPI.dll+0x5e7f>)
#2 CScientificMode::SciDlgProc
#3 USER32.dll!InternalCallWinProc
#4 USER32.dll!UserCallDlgProcCheckWow
#5 USER32.dll!DefDlgProcWorker
#6 USER32.dll!DefDlgProcW
#7 USER32.dll!InternalCallWinProc
#8 USER32.dll!UserCallWinProcCheckWow
#9 USER32.dll!DispatchClientMessage
#10 USER32.dll!__fnDWORD
#11 USER32.dll!SendMessageW
Note: @0:00:19.796 in thread 2808
Note: instruction: data16 test %cx %cx

% dumpbin /exports c:/windows/syswow64/kernelbase.dll | grep ' Str'
1188 4A3 00068418 StrCSpnA
1189 4A4 0006845F StrCSpnIA
1190 4A5 000684A6 StrCSpnIW
1191 4A6 00049272 StrCSpnW
1192 4A7 00068131 StrCatBuffA
1193 4A8 00068106 StrCatBuffW
1194 4A9 000687E6 StrCatChainW
1195 4AA 000232CC StrChrA
1196 4AB 0002329F StrChrA_MB
1197 4AC 0002027E StrChrIA
1198 4AD 0002506B StrChrIW
1199 4AE 0006815C StrChrNIW
1200 4AF 0003AE72 StrChrNW
1201 4B0 0000E22C StrChrW
1202 4B1 00028570 StrCmpCA
1203 4B2 00013445 StrCmpCW
1204 4B3 0001329F StrCmpICA
1205 4B4 0000E1E4 StrCmpICW
1206 4B5 000132E5 StrCmpIW
1207 4B6 00029BAA StrCmpLogicalW
1208 4B7 00023E91 StrCmpNA
1209 4B8 0002333B StrCmpNCA
1210 4B9 0001AE1A StrCmpNCW
1211 4BA 00020219 StrCmpNIA
1212 4BB 00013688 StrCmpNICA
1213 4BC 0000E268 StrCmpNICW
1214 4BD 0001330C StrCmpNIW
1215 4BE 0001327B StrCmpNW
1216 4BF 00013476 StrCmpW
1217 4C0 000680E7 StrCpyNW
1218 4C1 0006804C StrCpyNXA
1219 4C2 00068095 StrCpyNXW
1220 4C3 000686BB StrDupA
1221 4C4 00020031 StrDupW
1222 4C5 000686FB StrIsIntlEqualA
1223 4C6 000293DD StrIsIntlEqualW
1224 4C7 00068248 StrPBrkA
1225 4C8 000479B9 StrPBrkW
1226 4C9 0002543E StrRChrA
1227 4CA 0006819F StrRChrIA
1228 4CB 00068202 StrRChrIW
1229 4CC 0001B315 StrRChrW
1230 4CD 00068510 StrRStrIA
1231 4CE 0003D545 StrRStrIW
1232 4CF 00068348 StrSpnA
1233 4D0 000683B8 StrSpnW
1234 4D1 0002458F StrStrA
1235 4D2 000202CB StrStrIA
1236 4D3 0001336A StrStrIW
1237 4D4 00068644 StrStrNIW
1238 4D5 000685AA StrStrNW
1239 4D6 000286A4 StrStrW
1240 4D7 00068295 StrToInt64ExA
1241 4D8 0003D2EF StrToInt64ExW
1242 4D9 000233F7 StrToIntA
1243 4DA 0006831B StrToIntExA
1244 4DB 0003D2C2 StrToIntExW
1245 4DC 0000E371 StrToIntW
1246 4DD 00068739 StrTrimA
1247 4DE 00020735 StrTrimW

Original issue: http://code.google.com/p/drmemory/issues/detail?id=1248

@derekbruening
Copy link
Contributor Author

From bruen...@google.com on May 23, 2013 15:15:56

my mistake: the uninit I cited is actually due to data from some syscall
(haven't tracked down which one yet, certainly it's the kernel). thus
lowering priority as these routines may not be optimized enough to require
replacement.

Labels: -Priority-Medium Priority-Low

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant