Commit graph

9029 commits

Author SHA1 Message Date
Francois Gouget
cac02872c6 winetest: Avoid an infinite loop in vstrfmtmake() when the format is NULL.
When the format is NULL vsnprintf() always returns -1 so we keep
doubling the allocated memory until running out of memory.
2023-02-14 09:57:07 +01:00
Francois Gouget
b07129bad4 winetest: Don't use plain strings as format specifiers.
When they contain a percent character they would, at best, not be
printed correctly, and at worst cause a crash.
2023-02-14 09:57:07 +01:00
Alex Henrie
fae940df23 wineboot: Avoid calling RtlInitUnicodeString on a static constant. 2023-02-13 15:54:40 +01:00
Alex Henrie
dccc6a60b6 services: Avoid calling RtlInitUnicodeString on a static constant. 2023-02-10 19:09:16 +01:00
Alex Henrie
a6f3e4ad22 winhlp32: Fix memory leak on realloc failure in HLPFILE_RtfAddBitmap (cppcheck). 2023-02-07 17:46:55 +01:00
Eric Pouech
234943344f winedbg: Don't expose module whose machine isn't the process' one to gdb.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-02-06 22:34:44 +01:00
Eric Pouech
71dbcbce26 winedbg: Handle multi-machine process in command 'info share'.
- filter out native machine on wow64 configuration.
- add option to info share to print all modules.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-02-06 22:34:44 +01:00
Eric Pouech
7077c5bcab conhost: Only update font when running with a window.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54449
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-02-06 22:34:44 +01:00
Brendan Shanks
fe6294c743 taskkill: Use exit code 1 when terminating processes. 2023-02-02 10:56:34 +01:00
Brendan Shanks
2da1126021 taskmgr: Use exit code 1 when terminating processes. 2023-02-02 10:56:32 +01:00
Hans Leidekker
3a819255f5 winecfg: Fix CurrentVersion registry string for Windows 10 and up.
It no longer reflects the real OS major and minor version numbers.
2023-02-01 17:11:47 +01:00
Hans Leidekker
69154f0329 ntdll: Default to Windows 10. 2023-02-01 17:11:47 +01:00
Hans Leidekker
2ccc2a42d7 ntdll: Add Windows 11 version. 2023-02-01 17:11:47 +01:00
Eric Pouech
433bc12709 winedbg: Fix read access to variables with thread local storage.
No longer relying on loaded module info (getting index address out of
PE image, and caching it in struct dbg_module).

Co-authored-by: Evan Tang <etang@codeweavers.com>
2023-01-26 22:05:13 +01:00
Eric Pouech
224b33c2be winedbg: Track loaded modules.
Co-authored-by: Evan Tang <etang@codeweavers.com>
2023-01-26 22:05:13 +01:00
Eric Pouech
e8c7920919 conhost.exe: Handle ctrl-\ in Wine.
Let conhost handle ctrl-\ instead of Unix tty, and pretend it's a
ctrl-pause/break key stroke.  This allows CUI application in processed
input mode not to close upon ctrl-\.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54141
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-01-25 10:04:02 +01:00
Eric Pouech
fda954dfd4 conhost.exe: Handle ctrl-pause/break key strokes.
Note: this patch should be extended by adding insertion
of the CTRL_BREAK_EVENT into processes' crtl handler
(as it's done for CTRL_C_EVENT).

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-01-25 10:04:00 +01:00
Eric Pouech
5fc54e3219 winedbg: Use debuggee's bitness for 'examine /a' command.
Also fixes stack dump in crash summary and 'info stack' command.
(We were using debugger's bitness instead).

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-01-24 20:14:52 +01:00
Eric Pouech
a89975f731 dbghelp: Expose the real path to the module in SymGetModuleInfo*().
Expose the real path of a loaded module (potentially read from
WINEDLLDIR or WINEBUILDDIR or overriden load order or ...).  This
improves gdb integration by passing the real path to the loaded
modules (instead of the paths in c:\windows\ system subdirectories).
Introduce new Wine only dbghelp's extended option to enable the
feature.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54250
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-01-24 18:25:58 +01:00
Eric Pouech
3055653c1e winedbg: Pass loaded image's file handle to dbghelp.
In some cases (running from build tree, overriding load order...), the
path to the module from the load DLL debug event isn't the real path
to the loaded module. So pass the handle to loaded module's image from
winedbg to dbghelp (to avoid image lookup).

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54250
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-01-24 18:24:13 +01:00
Rémi Bernon
03aa9e13e7 services: Use a separate allocation for NotifyParamsArray[0].params.
The pointer might be freed by RPC NdrPointerFree, which will try to use
a dedicated free call for the array elements, and fail.
2023-01-24 18:15:41 +01:00
Gabriel Ivăncescu
929fdbbf55 notepad: Fix uninitialized upper 64-bits of pos in DoFind.
And get rid of the hacky casts.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-01-18 22:55:19 +01:00
Eric Pouech
ec05c03463 conhost: Initialize color_map when creating an alternate screen buffer.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54287
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-01-11 14:27:58 +01:00
Eric Pouech
8993f5720a conhost: Reset console attribute upon exit in unix mode.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-01-11 14:27:54 +01:00
Hugh McMaster
0e6b21ef1d conhost: Migrate from FontPitchFamily to FontFamily.
To ensure a seamless transition between value names, we try loading the
registry value from FontFamily first and FontPitchFamily second.

Any changes to the console font family are saved to the new value name.
2023-01-11 11:54:16 +01:00
Jinoh Kang
36ca172e85 regedit: Clip siblings when drawing list and tree views. 2023-01-06 10:41:21 +01:00
Jinoh Kang
8242b65172 regedit: Use the default WM_PAINT implementation for REGEDIT window. 2023-01-06 10:41:21 +01:00
Eric Pouech
af215210f0 kernel32/tests: Skip some console tests on w1064v1909.
We get conhost.exe:tty failures on testbot:
- not for version prior to w1064v1909 (these tests require
  pseudo-consoles, which are not implemented in these Windows
  version).
- for w1064v1909
- not for W10 versions after w1064v1909.

So, we assume that pseudo-console support is immature in this
Windows version: skip all the remaining test at the first
discrepancy point.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53465
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-12-21 18:24:39 +01:00
Eric Pouech
0a7c04816f conhost: Don't print control characters for Unix tty.
They will be reinterpreted by Unix tty, leading to wrong display.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-12-20 22:37:02 +01:00
Eric Pouech
a922577986 winedbg: Avoid passing a non allocated buffer to HeapFree.
Latest changes to heap management can lead to a crash in this situation.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-12-09 17:52:25 +01:00
Alex Henrie
5792785879 cmd: Use standard C functions for memory allocation. 2022-12-09 17:52:25 +01:00
Alexandre Julliard
57c58be77d winedbg: Fix printf format warnings on ARM platforms. 2022-12-08 18:11:23 +01:00
Alex Henrie
33ae61d79b winhlp32: Use standard C functions for memory allocation. 2022-12-07 20:27:26 +01:00
Eric Pouech
cd0e949519 wineconsole: Set launched process name as created console title.
wineconsole was setting created console's title to '????\wineconsole.exe'.
This was preventing conhost to load its configuration according to
first running command path.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-12-05 20:04:54 +01:00
Alex Henrie
b8b55de629 winecfg: Annotate allocation functions with __WINE_(DEALLOC|MALLOC). 2022-12-05 20:04:54 +01:00
Alex Henrie
1f4532d5c6 winecfg: Use standard C functions for memory allocation. 2022-12-05 20:04:54 +01:00
Alex Henrie
6136b54757 services: Use standard C functions for memory allocation. 2022-12-01 10:24:10 +01:00
Eric Pouech
f2ca35bd80 cmd: Use OEM code page when reading a file.
Calling GetConsoleCP() when ReadConsoleW() fails (potentially indicating
that cmd.exe's instance isn't attached to a console) makes no sense.

In details, since GetConsoleCP() returns 0 when not attached to a console
to indicate error, we're in fact using CP_ACP.

So fallback explicitely to OEM CP (which is the default for CUI programs).

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-11-25 18:09:57 +01:00
Rémi Bernon
1c30f7803c winepath: Free wine_get_(dos|unix)_file_name memory with HeapFree. 2022-11-25 18:09:57 +01:00
Paul Gofman
eec6aea10a wmic: Support array of BSTRs in convert_to_bstr(). 2022-11-24 22:20:20 +01:00
Paul Gofman
e3d7a3e3f6 wmic: Add nicconfig alias. 2022-11-24 22:20:20 +01:00
Paul Gofman
97b9d8ddbe wmic: Handle VariantChangeType() failures.
wmic currently crashes on, e. g., VT_EMPTY or VT_ARRAY types returned.
2022-11-24 22:20:20 +01:00
Paul Gofman
85b84a949c wmic: Call _BeginEnumeration() before iterating class object.
Otherwise enumeration fails on Windows.
2022-11-24 22:20:20 +01:00
Paul Gofman
6412b3dc3a wmic: Don't set WBEM_FLAG_FORWARD_ONLY flag on query.
The result access is not forward only.
2022-11-24 22:20:20 +01:00
Rémi Bernon
f810a57590 rpcss: Use I_Rpc(Free|Allocate) in MIDL_user_(allocate|free).
In ept_map, rpcss uses TowerConstruct to allocate tower array elements.

The array is later released by the generated stub code, and each element
is ultimately freed using MIDL_user_free.

TowerConstruct always allocate memory using I_RpcAllocate, we must use
I_RpcFree to free it.
2022-11-23 17:59:47 +01:00
Alex Henrie
dab61cdcd1 explorer: Put the calling convention inside the function pointer parentheses.
As required by MSVC.
2022-11-22 18:27:30 +01:00
Zhiyi Zhang
8459a5272a explorer: Use a valid taskbar position when the taskbar is hidden.
Some applications use FindWindowA() with class Shell_TrayWnd to find the taskbar window on Windows.
Then GetWindowRect() is called to get the taskbar window rectangle. Finally, the taskbar window
rectangle is subtracted from the primary screen rectangle to calculate the work area. Without a
valid taskbar window position, these applications end up getting an incorrect work area and going
down the wrong path. So use the same position and size as the host system panel for explorer taskbar
when it's hidden.
2022-11-17 10:00:24 +01:00
Zhiyi Zhang
b6818e2c20 explorer/tests: Add taskbar tests. 2022-11-17 10:00:24 +01:00
Eric Pouech
8f1febc430 cmd: Don't write outside of variable array.
GCC 12.2 rightfully complains about an out-of-founds array access.
This can possibly happen for unsupported variable names.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-11-14 13:13:02 +01:00
Eric Pouech
41221452c8 winedbg: Don't use invalid address mode in exception prolog.
Removes a GCC 12.2 warning about printing NULL string.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-11-14 13:13:02 +01:00