http://bugs.winehq.org/show_bug.cgi?id=30131
Bug #: 30131
Summary: wPrime doesn't start
Product: Wine
Version: 1.4
Platform: x86
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: t.artem(a)mailcity.com
Classification: Unclassified
When I try to run it using native msvbm60.dll, these messages are being logged
in console:
fixme:ole:OleLoadPictureEx
(0xbae154,774,0,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=0,y=0,f=0,0x32f914),
partially implemented.
fixme:ole:OLEPictureImpl_SaveAsFile (0x133800)->(0x1383d8, 0, (nil)), hacked
stub.
Welcome to wPrime Benchmark v2.08.
err:ole:CoGetClassObject class {0d43fe01-f093-11cf-8940-00a0c9054228} not
registered
err:ole:create_server class {0d43fe01-f093-11cf-8940-00a0c9054228} not
registered
err:ole:CoGetClassObject no class object {0d43fe01-f093-11cf-8940-00a0c9054228}
could be created for context 0x5
followed by a message box saying:
Run-time error '429':
ActiveX component can't create object
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=36465
Bug ID: 36465
Summary: Age of Wushu: Lua script - Create device failed!
Product: Wine
Version: 1.7.18
Hardware: x86
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
Assignee: wine-bugs(a)winehq.org
Reporter: furyhamster(a)gmail.com
Created attachment 48516
--> http://bugs.winehq.org/attachment.cgi?id=48516
Terminal output from running the launcher.
Running the launcer of Age of Wushu opens up an window titled "lua script" and
in that window it states that "Create device failed!"
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=36486
Bug ID: 36486
Summary: Age of Wushu: frequent display of in-game "Don't speed
up!" dialog tip disrupts gameplay (Wine fails
kernel32.GetTickCount API entry hook check)
Product: Wine
Version: 1.7.19
Hardware: x86
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: kernel32
Assignee: wine-bugs(a)winehq.org
Reporter: focht(a)gmx.net
Hello folks,
during investigation of bug 36465 I found this goodie, deserving it's own bug
of course :)
Searching the net reveals similar reports for Windows and MAC:
http://www.ageofwushu.com/forums/viewtopic.php?f=29&t=7339http://www.ageofwushu.com/forums/viewtopic.php?f=30&t=14469http://portingteam.com/topic/9284-age-of-wushu-dont-speed-up-tip-spam/
This disguised message is in fact the result of a failed API hook check.
The vendor obviously doesn't want to go into technical details/reveal this, see
the support forums/site for answers to this problem.
Enter Wine and get the answers :)
One hint is contained in the game log file 'bin/trace.log'
With relay thunks emitted (+relay channel):
--- snip ---
...
[2014-05-18 22:01:13.573] Time Func Pos Begin QueryPerformanceCounter=54
QueryPerformanceFrequency=54 GetTickCount=54 timeGetTime=54 timeSetEvent=54
SetTimer=54
...
--- snip ---
without relay thunks:
--- snip ---
[2014-05-18 22:23:02.818] Time Func Pos Begin QueryPerformanceCounter=8d
QueryPerformanceFrequency=8d GetTickCount=55 timeGetTime=55 timeSetEvent=8d
SetTimer=55
--- snip ---
The hex codes are the first opcode byte of each API entry.
The protection code makes a snapshot of certain API entries on startup.
The entry bytes are stored for later comparison to detect dynamic hooking
(through dll injection for example).
--- snip ---
...
0056:Call KERNEL32.GetModuleHandleA(11a8eef0 "kernel32.dll") ret=1134c3b1
0056:Ret KERNEL32.GetModuleHandleA() retval=7b810000 ret=1134c3b1
0056:Call KERNEL32.GetProcAddress(7b810000,11a8eed4 "QueryPerformanceCounter")
ret=1134c3c3
0056:Ret KERNEL32.GetProcAddress() retval=7b824afc ret=1134c3c3
0056:Call KERNEL32.GetModuleHandleA(11a8eef0 "kernel32.dll") ret=1134c3d9
0056:Ret KERNEL32.GetModuleHandleA() retval=7b810000 ret=1134c3d9
0056:Call KERNEL32.GetProcAddress(7b810000,11a8eeb4
"QueryPerformanceFrequency") ret=1134c3e5
0056:Ret KERNEL32.GetProcAddress() retval=7b824b14 ret=1134c3e5
0056:Call KERNEL32.GetModuleHandleA(11a8eef0 "kernel32.dll") ret=1134c3fb
0056:Ret KERNEL32.GetModuleHandleA() retval=7b810000 ret=1134c3fb
0056:Call KERNEL32.GetProcAddress(7b810000,11a8eea4 "GetTickCount")
ret=1134c407
0056:Ret KERNEL32.GetProcAddress() retval=7b82374c ret=1134c407
0056:Call KERNEL32.GetModuleHandleA(11a8ee98 "WINMM.dll") ret=1134c41d
0056:Ret KERNEL32.GetModuleHandleA() retval=f7220000 ret=1134c41d
0056:Call KERNEL32.GetProcAddress(f7220000,11a8ee88 "timeGetTime") ret=1134c429
0056:Ret KERNEL32.GetProcAddress() retval=7b82374c ret=1134c429
0056:Call KERNEL32.GetModuleHandleA(11a8ee98 "WINMM.dll") ret=1134c43f
0056:Ret KERNEL32.GetModuleHandleA() retval=f7220000 ret=1134c43f
0056:Call KERNEL32.GetProcAddress(f7220000,11a8ee78 "timeSetEvent")
ret=1134c44b
0056:Ret KERNEL32.GetProcAddress() retval=f7226d44 ret=1134c44b
0056:Call KERNEL32.GetModuleHandleA(11a8ee68 "USER32.dll") ret=1134c461
0056:Ret KERNEL32.GetModuleHandleA() retval=7eca0000 ret=1134c461
0056:Call KERNEL32.GetProcAddress(7eca0000,11a8ee5c "SetTimer") ret=1134c46d
0056:Ret KERNEL32.GetProcAddress() retval=7ecb0798 ret=1134c46d
...
--- snip ---
Runtime check of API entries every two seconds:
--- snip ---
...
0056:Call KERNEL32.GetModuleHandleA(11a8eef0 "kernel32.dll") ret=1134c4f5
0056:Ret KERNEL32.GetModuleHandleA() retval=7b810000 ret=1134c4f5
0056:Call KERNEL32.GetProcAddress(7b810000,11a8eed4 "QueryPerformanceCounter")
ret=1134c505
0056:Ret KERNEL32.GetProcAddress() retval=7b824afc ret=1134c505
0056:Call KERNEL32.GetModuleHandleA(11a8eef0 "kernel32.dll") ret=1134c2fb
0056:Ret KERNEL32.GetModuleHandleA() retval=7b810000 ret=1134c2fb
0056:Call KERNEL32.GetProcAddress(7b810000,11a8eeb4
"QueryPerformanceFrequency") ret=1134c30b
0056:Ret KERNEL32.GetProcAddress() retval=7b824b14 ret=1134c30b
0056:Call KERNEL32.GetModuleHandleA(11a8eef0 "kernel32.dll") ret=1134c2fb
0056:Ret KERNEL32.GetModuleHandleA() retval=7b810000 ret=1134c2fb
0056:Call KERNEL32.GetProcAddress(7b810000,11a8eea4 "GetTickCount")
ret=1134c30b
0056:Ret KERNEL32.GetProcAddress() retval=7b82374c ret=1134c30b
0056:Call KERNEL32.GetModuleHandleA(11a8ee98 "WINMM.dll") ret=1134c32b
0056:Ret KERNEL32.GetModuleHandleA() retval=f7220000 ret=1134c32b
0056:Call KERNEL32.GetProcAddress(f7220000,11a8ee88 "timeGetTime") ret=1134c33b
0056:Ret KERNEL32.GetProcAddress() retval=7b82374c ret=1134c33b
0056:Call KERNEL32.GetModuleHandleA(11a8ee98 "WINMM.dll") ret=1134c2fb
0056:Ret KERNEL32.GetModuleHandleA() retval=f7220000 ret=1134c2fb
0056:Call KERNEL32.GetProcAddress(f7220000,11a8ee78 "timeSetEvent")
ret=1134c30b
0056:Ret KERNEL32.GetProcAddress() retval=f7226d44 ret=1134c30b
0056:Call KERNEL32.GetModuleHandleA(11a8ee68 "USER32.dll") ret=1134c2fb
0056:Ret KERNEL32.GetModuleHandleA() retval=7eca0000 ret=1134c2fb
0056:Call KERNEL32.GetProcAddress(7eca0000,11a8ee5c "SetTimer") ret=1134c30b
0056:Ret KERNEL32.GetProcAddress() retval=7ecb0798 ret=1134c30b
...
--- snip ---
Following is the list of API functions and their opcode checks.
call/jmp opcode bytes are treated as hook.
--- snip ---
kernel32.dll!QueryPerformanceCounter
-> [0]=0xE8 | [0]=0xE9 | [0]=0xFF | ![0]=<snapshot>
kernel32.dll!QueryPerformanceFrequency
-> [0]=0xE8 | [0]=0xE9 | [0]=0xFF | ![0]=<snapshot>
kernel32.dll!GetTickCount
-> [0]=0xE8 | [0]=0xE9 | [0]=0xFF | ![0]=<snapshot>
WINMM.dll!timeGetTime
-> [0]=0xE8 | [0]=0xE9 | [0]=0xFF | ![0]=<snapshot> | [7]=0xE8 | [7]=0xE9 |
[7]=0xFF
WINMM.dll!timeSetEvent
-> [0]=0xE8 | [0]=0xE9 | [0]=0xFF | ![0]=<snapshot>
user32.dll!SetTimer
-> [0]=0xE8 | [0]=0xE9 | [0]=0xFF | ![0]=<snapshot>
--- snip ---
The 'WINMM.dll!timeGetTime' entry point gets a special treatment and this the
problem.
Wine 'winmm.spec'
--- snip ---
@ stdcall timeGetTime() kernel32.GetTickCount
--- snip ---
Forwarded. Dumping the target with Winedbg gives:
--- snip ---
Wine-dbg>x/10b GetTickCount
0x7b8480d9 GetTickCount: 55 89 e5 53 83 e4 f0 e8 ab 75
--- snip ---
Disassembly:
--- snip ---
7B8480D9 55 PUSH EBP
7B8480DA 89E5 MOV EBP,ESP
7B8480DC 53 PUSH EBX
7B8480DD 83E4 F0 AND ESP,FFFFFFF0
7B8480E0 E8 AB75FDFF CALL KERNEL32.__x86.get_pc_thunk.bx
7B8480E5 81C3 1B2F0700 ADD EBX,72F1B
7B8480EB E8 72FFFFFF CALL KERNEL32.GetTickCount64
7B8480F0 8B5D FC MOV EBX,DWORD PTR SS:[EBP-4]
7B8480F3 C9 LEAVE
7B8480F4 C3 RETN
--- snip ---
*eeek* .. 'entry[7]' has indeed value 0xE8 hence the check fails.
The PIC code (setup of PIC register) in function prolog causes the harm here.
If you avoid the call opcode at 'entry[7]' everything is fine (for example
making this entry hotpatchable, inline GetTickCount64, use wrapper).
I already tested this. Wine code is no longer (mis)detected as hook and the
game runs fine without any "Speedup" spam.
$ sha1sum AgeofWushu_download.exe
a7101c50ce8deb33008da4ce044fca5e3add721d AgeofWushu_download.exe
$ du -sh AgeofWushu_download.exe
1.9M AgeofWushu_download.exe
$ wine --version
wine-1.7.19
Regards
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=34403
Bug #: 34403
Summary: AVP Classic WinRT/ARM port needs xinput1_4.dll
Product: Wine
Version: 1.7.1
Platform: arm
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: focht(a)gmx.net
Classification: Unclassified
Hello folks,
as the summary says...
--- snip ---
linaro@linaro-ubuntu-desktop:~/wine-apps/avpclassic$ ll
total 10744
drwxr-xr-x 2 linaro linaro 4096 Aug 31 15:05 ./
drwxrwxr-x 51 linaro linaro 4096 Aug 31 15:05 ../
-rw-rw-r-- 1 linaro linaro 37736 Jul 25 2012 D3D11ProxyDriver.dll
-rw-rw-r-- 1 linaro linaro 2840416 Aug 20 2012 D3DCompiler_Test.dll
-rw-rw-r-- 1 linaro linaro 1287248 Aug 21 08:05 MyAvP.exe
-rw-r--r-- 1 linaro linaro 2675765 Aug 31 15:05 avp_classic_arm.7z
-rw-rw-r-- 1 linaro linaro 333672 Jul 25 2012 d3dref9.dll
-rw-rw-r-- 1 linaro linaro 1742184 Jul 25 2012 d3dx9d.dll
-rw-rw-r-- 1 linaro linaro 71760 Aug 21 08:05 libbinkdec.dll
-rw-rw-r-- 1 linaro linaro 19536 Aug 21 08:05 libogg.dll
-rw-rw-r-- 1 linaro linaro 39504 Aug 21 08:05 libsmackerdec.dll
-rw-rw-r-- 1 linaro linaro 163920 Aug 21 08:05 libtheora.dll
-rw-rw-r-- 1 linaro linaro 1611856 Aug 21 08:05 libvorbis.dll
-rw-rw-r-- 1 linaro linaro 32848 Aug 21 08:05 libvorbisfile.dll
-rw-rw-r-- 1 linaro linaro 105316 Nov 10 2001 non-gold_english.txt
...
linaro@linaro-ubuntu-desktop:~/wine-apps/avpclassic$ wine ./MyAvP.exe
err:module:import_dll Library XINPUT1_4.dll (which is needed by
L"Z:\\home\\linaro\\wine-apps\\avpclassic\\MyAvP.exe") not found
err:module:LdrInitializeThunk Main exe initialization for
L"Z:\\home\\linaro\\wine-apps\\avpclassic\\MyAvP.exe" failed, status c0000135
--- snip ---
More info on XInput versions here:
http://msdn.microsoft.com/en-us/library/windows/desktop/hh405051%28v=vs.85%…
--- quote ---
XInput 1.4 ships today as a system component in Windows 8 as XINPUT1_4.DLL. It
is available “inbox” and does not require redistribution with an application.
The Windows Software Development Kit (SDK) contains the header and import
library for statically linking against XINPUT1_4.DLL. To download the Windows 8
SDK, see Downloads for developing desktop apps.
XInput 1.4 has these primary advantages over other versions of XInput:
* This is the only version that can be used in C++/DirectX Windows Store apps.
* The new XInputGetAudioDeviceIds function provides an audio device ID string
that you can use to open an XAudio2 mastering voice or audio device for a
headset attached to an Xbox 360 common controller. The
XInputGetDSoundAudioDeviceGuids function is not available in this version.
* Provides improved device capabilities reporting including
XINPUT_CAPS_WIRELESS, XINPUT_CAPS_FFB_SUPPORTED, XINPUT_CAPS_PMD_SUPPORTED, and
XINPUT_CAPS_NO_NAVIGATION flags and more accurate reporting of
XINPUT_CAPS_VOICE_SUPPORTED. These flags are combined in the Flags member of
the XINPUT_CAPABILITIES structure. The XInputGetCapabilities function returns
XINPUT_CAPABILITIES.
--- quote ---
Regards
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=36731
Bug ID: 36731
Summary: Runes of Magic 'ClientUpdater.exe' crashes after a
number of update cycles (mshtml environment setup
contains stack buffer overflow)
Product: Wine
Version: 1.7.20
Hardware: x86
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: mshtml
Assignee: wine-bugs(a)winehq.org
Reporter: focht(a)gmx.net
Hello folks,
found during investigation of 'Runes of Magic' client updater.
There is a crash after a number of update cycles.
Unfortunately it's not easily traceable as it requires large downloads and many
client restarts (= hours) to reach the crash point.
I started the updater with a few debug channels (= reduced noise) which still
allowed me to do post-mortem analysis.
The launcher restarts itself after each update cycle.
--- snip ---
$ pwd
/home/focht/.wine/drive_c/Program Files/Runes of Magic
$ WINEDEBUG=+tid,+seh,+loaddll,+process,+mshtml wine ./launcher.exe
...
<hours, multiple updater restarts>
...
004f:trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\mshtml.dll"
at 0x7c090000: builtin
004f:trace:mshtml:DllGetClassObject (CLSID_HTMLDocument
{00000001-0000-0000-c000-000000000046} 0x3392a8)
004f:trace:mshtml:ClassFactory_AddRef (0x1c2c80) ref = 1
004f:trace:mshtml:HTMLDocument_Create ((nil) IID_IUnknown 0x1c19d4)
004f:trace:mshtml:load_gecko ()
004f:trace:mshtml:check_version "Wine Gecko 2.24"
004f:trace:mshtml:load_xul
(L"C:\\windows\\system32\\gecko\\2.24\\wine_gecko\\\\xul.dll")
004f:trace:seh:raise_exception code=c0000005 flags=0 addr=0x7c130001
ip=7c130001 tid=004f
004f:trace:seh:raise_exception info[0]=00000001
004f:trace:seh:raise_exception info[1]=8d43ade4
004f:trace:seh:raise_exception eax=00000001 ebx=006b0063 ecx=003389a0
edx=7bcda204 esi=00339330 edi=001c2de8
004f:trace:seh:raise_exception ebp=005c0070 esp=00338c00 cs=0023 ds=002b
es=002b fs=0063 gs=006b flags=00010212
004f:trace:seh:call_stack_handlers calling handler at 0x4a97b0 code=c0000005
flags=0
004f:trace:seh:call_stack_handlers handler at 0x4a97b0 returned 1
004f:trace:seh:call_stack_handlers calling handler at 0x7bc9ecf7 code=c0000005
flags=0
wine: Unhandled page fault on write access to 0x8d43ade4 at address 0x7c130001
(thread 004f), starting debugger...
--- snip ---
I looked at the crash site and noticed it being in the middle of opcode
sequence.
--- snip ---
7C130000 45 INC EBP
7C130001 0889 4424108D OR BYTE PTR DS:[ECX+8D102444],CL
7C130007 8313 B5 ADC DWORD PTR DS:[EBX],-4B
7C13000A FA CLI
--- snip ---
Decoded with proper opcode start addresses:
--- snip ---
7C12FFFF 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
7C130002 894424 10 MOV DWORD PTR SS:[ESP+10],EAX
7C130006 8D83 13B5FAFF LEA EAX,[EBX+FFFAB513]
--- snip ---
Partial stack dump with 'esp' = 0x00338c00 from exception context:
--- snip ---
...
00338BA8 C0000005
00338BAC 00000000
00338BB0 00000000
00338BB4 7C130001
00338BB8 00000002
00338BBC 00000001
00338BC0 8D43ADE4 äC
00338BC4 00650074 t e
00338BC8 0033006D m 3
00338BCC 005C0032 2 \
00338BD0 00650067 g e
00338BD4 006B0063 c k
00338BD8 005C006F o \
00338BDC 002E0032 2 .
00338BE0 00340032 2 4
00338BE4 0077005C \ w
00338BE8 006E0069 i n
00338BEC 00000005
00338BF0 00650067 g e
00338BF4 006B0063 c k
00338BF8 005C006F o \
00338BFC 7C130000
00338C00 00338F74 ; UNICODE "C:\windows\system32\gecko\2.24\wine_gecko\"
00338C04 7C1FF480
00338C08 7C19E234 ; ASCII "load_xul"
00338C0C 7C19CF48 ; ASCII "(%s)"
00338C10 7BCEC8C1 ; ASCII
"L"C:\\windows\\system32\\gecko\\2.24\\wine_gecko\\\\xul.dll""
00338C14 7C19D4E8 ; ASCII "Wine Gecko 2.24"
00338C18 7C19E250 ; ASCII "check_version"
00338C1C 7C19D4C0 ; ASCII "%s"
00338C20 7BCEC8AF ; ASCII ""Wine Gecko 2.24""
...
--- snip ---
Yes, looks pretty much like a stack buffer overflow.
A string buffer overwrote 'ebp', 'ebx' values (register save on stack for
'__x86_get_pc_thunk_bx') and parts of the return address.
The NULL terminator cancelled out the lower 16 bits of the return address.
The culprit: 'load_xul' -> 'set_environment'
Source:
http://source.winehq.org/git/wine.git/blob/0be56d27d2d4b22367313fa4c6f1e658…
--- snip ---
439 static void set_environment(LPCWSTR gre_path)
440 {
441 WCHAR path_env[MAX_PATH], buf[20];
442 int len, debug_level = 0;
443
444 static const WCHAR pathW[] = {'P','A','T','H',0};
445 static const WCHAR warnW[] = {'w','a','r','n',0};
446 static const WCHAR xpcom_debug_breakW[] =
447
{'X','P','C','O','M','_','D','E','B','U','G','_','B','R','E','A','K',0};
448 static const WCHAR nspr_log_modulesW[] =
449 {'N','S','P','R','_','L','O','G','_','M','O','D','U','L','E','S',0};
450 static const WCHAR debug_formatW[] = {'a','l','l',':','%','d',0};
451
452 /* We have to modify PATH as XPCOM loads other DLLs from this
directory. */
453 GetEnvironmentVariableW(pathW, path_env,
sizeof(path_env)/sizeof(WCHAR));
454 len = strlenW(path_env);
455 path_env[len++] = ';';
456 strcpyW(path_env+len, gre_path);
457 SetEnvironmentVariableW(pathW, path_env);
458
459 SetEnvironmentVariableW(xpcom_debug_breakW, warnW);
460
461 if(TRACE_ON(gecko))
462 debug_level = 5;
463 else if(WARN_ON(gecko))
464 debug_level = 3;
465 else if(ERR_ON(gecko))
466 debug_level = 2;
467
468 sprintfW(buf, debug_formatW, debug_level);
469 SetEnvironmentVariableW(nspr_log_modulesW, buf);
470 }
--- snip ---
'path_env' must have overflowed ... but how?
I used a JIT debugger to examine the process environment block at the time of
the crash since 'GetEnvironmentVariableW' reads from
'NtCurrentTeb()->Peb->ProcessParameters->Environment'.
--- snip ----
Address UNICODE dump
...
00231EC0 m32\cmd.exe.PATH
00231EE0 =C:\windows\syst
00231F00 em32;C:\windows;
00231F20 C:\windows\syste
00231F40 m32\wbem;C:\wind
00231F60 ows\system32\gec
00231F80 ko\2.24\wine_gec
00231FA0 ko\;C:\windows\s
00231FC0 ystem32\gecko\2.
00231FE0 24\wine_gecko\;C
00232000 :\windows\system
00232020 32\gecko\2.24\wi
00232040 ne_gecko\;C:\win
00232060 dows\system32\ge
00232080 cko\2.24\wine_ge
002320A0 cko\;C:\windows\
002320C0 system32\gecko\2
002320E0 .24\wine_gecko\.
00232100 TEMP=C:\users\fo
00232120 cht\Temp.TMP=C:\
00232140 users\focht\Temp
00232160 .windir=C:\windo
00232180 ws.ALLUSERSPROFI
002321A0 LE=C:\users\Publ
002321C0 ic.APPDATA=C:\us
...
--- snip ---
At the time 'gre_path' path was appended, the string from 'PATH' environment
variable had already grown near 'MAX_PATH' (260 characters) buffer limit.
'PATH' is of course not limited to 'MAX_PATH' since it contains a list of
paths.
A better option would be to query with 'GetEnvironmentVariableW( value, NULL,
0)' first and allocate the needed buffer from heap, including length for
'gre_path'.
Even with these things corrected there is still a general problem: at one point
it will overflow/being blocked from appending to 'PATH'.
Each newly created updater process inherits the process environment from parent
(client updater restarts itself each time).
A more sophisticated thing to do would be to search for existing value and not
append if already present.
Wine Mono 'mscoree' component has a similar potential stack buffer overflow:
http://source.winehq.org/git/wine.git/blob/8cdcf470016f0655dfc8810f9d4d2f2d…
Regards
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=31358
Bug #: 31358
Summary: Bobcad v25 hangs on startup
Product: Wine
Version: 1.5.9
Platform: x86
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: dank(a)kegel.com
Classification: Unclassified
Tried installing free trial
13f91536f3a429ccb65b45b7bf72adb927c7d294 BobCAD_V25_Demo_32bit.exe
from
http://www.bobcad.com/products/cad
Seemed to install fine, and put up a UI, but the main window of the
UI was never drawn, and the UI was nonresponsive.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=24664
Summary: The letter 'R' is not visible in Shapes On A Plane
Product: Wine
Version: 1.3.4
Platform: x86
URL: https://www.digipen.edu/?id=1170&proj=433
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: andrew.millington(a)gmail.com
Nearly all the letter 'R' are not visible in text such as the options screen.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.