For a 32bit process, running in the "old" wow64 configuration, the filename
of loaded (32 bit) ntdll.dll is reported as ..\system32\ntdll.dll instead of
being in the wow64 directory.
This affects:
- filename used for image mapping
- filename entry in LdrData
(Note all the others DLLs in this configuration are correctly
exposed in wow64 directory).
Signed-off-by: Eric Pouech <eric.pouech(a)gmail.com>
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2106
Code assumes that tableIndex is never 0, while GCC cannot
infer it. So include tableIndex=0 case into already handled
error cases.
GCC/Mingw complains with:
/home/eric/work/wine/dlls/inetmib1/main.c: In function 'mib2IfEntryQuery':
/home/eric/work/wine/dlls/inetmib1/main.c:646:25: warning: array subscript 4294967295 is above array bounds of 'MIB_IFROW[1]' {aka 'struct _MIB_IFROW[1]'} [-Warray-bounds]
646 | &ifTable->table[tableIndex - 1], item,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/eric/work/wine/include/ipmib.h:21,
from /home/eric/work/wine/include/iprtrmib.h:24,
from /home/eric/work/wine/include/iphlpapi.h:25,
from /home/eric/work/wine/dlls/inetmib1/main.c:30:
/home/eric/work/wine/include/ifmib.h:66:15: note: while referencing 'table'
66 | MIB_IFROW table[1];
Signed-off-by: Eric Pouech <eric.pouech(a)gmail.com>
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1764
GCC (MingW) 12.2 rightfully warns with:
/home/eric/work/wine/dlls/kernelbase/loader.c: In function 'GetModuleHandleA':
/home/eric/work/wine/dlls/kernelbase/loader.c:332:12: warning: 'ret' may be used uninitialized [-Wmaybe-uninitialized]
332 | return ret;
| ^~~
/home/eric/work/wine/dlls/kernelbase/loader.c:329:13: note: 'ret' declared here
329 | HMODULE ret;
| ^~~
So set module to NULL on all error codepaths in GetModuleHandleExA().
Signed-off-by: Eric Pouech <eric.pouech(a)gmail.com>
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/978
Mark args local variable with volatile to tell GCC not to check
for out of bounds access.
Alternative fix: use an intermediate variable to store &fun as
an integer.
MingW/GCC 12 complains with:
In file included from /home/eric/work/wine/dlls/krnl386.exe16/thunk.c:36:
/home/eric/work/wine/dlls/krnl386.exe16/thunk.c: In function 'SSCall':
/home/eric/work/wine/include/wine/debug.h:91:4: warning: array subscript 1 is outside array bounds of 'INT_PTR (__attribute__((stdcall)) *[1])(void)' {aka 'int (__attribute__((stdcall)) *[1])(void)'} [-Warray-bounds]
91 | wine_dbg_log( __dbcl, __dbch, __func__, __VA_ARGS__); } } while(0)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/eric/work/wine/include/wine/debug.h:88:8: note: in expansion of macro '__WINE_DBG_LOG'
88 | __WINE_DBG_LOG
| ^~~~~~~~~~~~~~
/home/eric/work/wine/include/wine/debug.h:463:36: note: in expansion of macro '__WINE_DPRINTF'
463 | #define WINE_TRACE __WINE_DPRINTF(_TRACE,__wine_dbch___default)
| ^~~~~~~~~~~~~~
/home/eric/work/wine/include/wine/debug.h:506:36: note: in expansion of macro 'WINE_TRACE'
506 | #define TRACE WINE_TRACE
| ^~~~~~~~~~
/home/eric/work/wine/dlls/krnl386.exe16/thunk.c:996:32: note: in expansion of macro 'TRACE'
996 | for (i = 0; i < nr/4; i++) TRACE("0x%08lx,",args[i]);
| ^~~~~
/home/eric/work/wine/dlls/krnl386.exe16/thunk.c:989:17: note: at offset 4 into object 'fun' of size 4
989 | FARPROC fun, /* [in] function to call */
| ~~~~~~~~^~~
Signed-off-by: Eric Pouech <eric.pouech(a)gmail.com>
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1765
On Mon Feb 6 15:28:54 2023 +0000, Timo Zuccarello wrote:
> Looks great, I didn't know you were working on it already! I presume a
> fixed offset is enough then in most cases, so no need for manual
> mappings from XKB names?
Yes I believe so.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/182#note_23087
On Mon Feb 6 15:05:02 2023 +0000, Rémi Bernon wrote:
> I mean, I don't know if we need to detect VNC, but at least having an
> option to enable or disable the bogus scancode auto-detect is imho a
> good solution.
Looks great, I didn't know you were working on it already! I presume a fixed offset is enough then in most cases, so no need for manual mappings from XKB names?
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/182#note_23086