Commit graph

4087 commits

Author SHA1 Message Date
David Kahurani 386dbe1059 msi: Avoid leaking stream on DB update.
MSI_RecordGetIStream adds a reference to the stream. This
reference should be negated as we are done setting the stream.

Signed-off-by: David Kahurani <k.kahurani@gmail.com>
2024-02-20 22:26:13 +01:00
Fabian Maurer bbce5d014d msi: Don't write past end of string when selecting parent directory. 2024-02-05 13:25:36 +01:00
Zhiyi Zhang 4afca1787f msi: Fix a memory leak (Coverity). 2024-01-17 11:07:00 +01:00
Eric Pouech ac8da35b87 regsvr32: Use message boxes by default for output.
regsvr32 is in GUI subsystem and shouldn't interact with console.
Keeping unix I/O output in silent mode.
Removing -c option as not existing in native.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-11-24 16:46:44 +01:00
Jacek Caban 93668319dd msi/tests: Initialize pathkey in test_installprops.
It could be used uninitialized on early no access return.
2023-11-17 19:54:00 +01:00
Jacek Caban 2daa8c9f95 msi: Store Context as MSIINSTALLCONTEXT in MSIPACKAGE.
Avoids casting to enum pointer in msi_locate_product call.
2023-11-17 19:53:59 +01:00
Alistair Leslie-Hughes 91e8108345 msi: Remove DECLSPEC_HIDDEN usage. 2023-11-10 00:03:44 +01:00
Alexandre Julliard ffeb530cc0 makefiles: Always use the global SOURCES variable for .y files. 2023-10-14 13:51:42 +02:00
Jactry Zeng 085e95cd5e msi: Use CreateFileW() for handling path from cabinet_open() instead. 2023-09-20 10:17:24 +02:00
Rémi Bernon 81da9ff0f8 makedep: Use #pragma makedep testdll for TESTDLL resources. 2023-09-05 12:44:34 +02:00
Alexandre Julliard 490aee03e4 msi/tests: Use nameless unions/structs. 2023-07-20 21:48:39 +02:00
Alexandre Julliard 8de0a9dc74 msi: Use nameless unions/structs. 2023-07-14 09:24:29 +02:00
Jinoh Kang 1fca47b724 msi: Don't open code dialog_add_control() in dialog_line_control().
Commit b1cc87cb65 ("msi: The line control has a height of exactly 2
device units.", 2007-12-16) open-coded the body of
(msi_)dialog_add_control() inside dialog_line_control() modulo the
height override.

Except the fixed height, line controls have nothing special compared to
other controls.  Thus, there is little merit in open-coding it.

Also, dialog_line_control() has bit-rotted over time; it already missed
a few changes that were done to any other controls.

Fix this by just using dialog_add_control().  Also, add a special case
logic just for line controls.
2023-07-14 09:14:33 +02:00
Jinoh Kang 3eceda2f2a msi: Make insertion order of line controls consistent with other controls.
Fixes: 2c5bd49297
2023-07-14 09:14:31 +02:00
Jinoh Kang 735584076e msi: Fully initialize the control structure in dialog_line_control().
Fixes: 76606eaea0
Fixes: 174b7b51ac
2023-07-14 09:14:28 +02:00
Alistair Leslie-Hughes 51049c95a2 msi: Remove DECLSPEC_HIDDEN usage. 2023-07-07 12:20:53 +02:00
David Kahurani 60e4f8a261 msi: Convert newlines to alternate representation when exporting.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54532
Signed-off-by: David Kahurani <k.kahurani@gmail.com>
2023-06-23 11:20:32 +02:00
David Kahurani e1ddc58a25 msi: Reject shorter/longer lines in MsiDatabaseImportA.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54532
Signed-off-by: David Kahurani <k.kahurani@gmail.com>
2023-06-23 11:20:30 +02:00
Alex Henrie 993f4d48d2 msi: Fix memory leaks in HANDLE_CustomType23 (scan-build). 2023-06-16 10:30:48 +02:00
Alex Henrie 0653409e06 msi: Fix double free on error paths in TransformView_Create (scan-build).
If TransformView_Create returns an error, it should not return a pointer
that table_load_transform will try to free.
2023-06-16 10:30:35 +02:00
Alex Henrie 4db2ffa60e msi: Fix memory leak on error path in MSI_OpenPackageW (scan-build). 2023-06-16 10:30:29 +02:00
Alexandre Julliard 93630ce14e include: Remove redundant __WINE_USE_MSVCRT checks. 2023-06-12 21:21:41 +02:00
Daniel Lehman 7b3690dd73 msi: Release record instead of free.
../dlls/msi/dialog.c:4476:11: warning: attempt to call free on non-heap object 'hdr' [-Wfree-nonheap-object]
    free( &rec->hdr );
          ^
2023-06-08 12:03:35 +02:00
Alex Henrie d06b3fd527 msi: Fix memory leak on error path in MSI_ProcessMessage (scan-build). 2023-06-08 12:03:29 +02:00
Alex Henrie c39f785b34 msi: Fix memory leak in ready_media (scan-build).
base_url was never freed, and can simply be enlarged instead of copying
it to a new buffer.
2023-06-05 14:01:07 +02:00
Alex Henrie 1da5618cba msi: Make TransformView_Create static. 2023-06-05 14:01:07 +02:00
Alex Henrie daa20d9d63 msi: Return ERROR_OUTOFMEMORY if calloc fails in TransformView_Create (scan-build).
Instead of ERROR_SUCCESS.
2023-06-05 14:01:07 +02:00
Francois Gouget a80b183af7 msi/tests: Ok_() takes printf-style arguments.
This lets the compiler check that the format and argument sizes match.
2023-04-27 08:56:57 +02:00
Francois Gouget b6fb1b8983 msi/tests: Fix the ok() formats so they match the size of their arguments. 2023-04-27 08:56:56 +02:00
Alex Henrie 9df04bfdb0 msi: Annotate memory allocation functions with __WINE_(DEALLOC|MALLOC). 2023-02-08 21:32:06 +01:00
Alex Henrie 687c4f5c8d msi: Handle memory allocation failure in get_link_file (cppcheck). 2023-02-06 10:34:24 +01:00
Hans Leidekker 2580127425 msi: Get rid of unnecessary typedefs. 2023-02-02 18:08:39 +01:00
Hans Leidekker 3611398b75 msi: Remove msi_ prefix from static functions. 2023-02-02 18:08:39 +01:00
Hans Leidekker d9d700f332 msi: Perform late initialization of the assembly caches.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51345
2023-02-02 18:08:39 +01:00
Hans Leidekker 2c450fd621 msi: Install and patch global assemblies in InstallFinalize.
Installing global assemblies requires assembly caches to be initialized and
this is no longer the case after the PE conversion (builtin fusion no longer
loads if the dll is not present on disk).

The next patch changes msi to perform late initialization of the assembly
caches so that native fusion can be loaded once it's installed by .NET
installers. However, there's no guarantee that all necessary files and
registry keys are installed before the InstallFiles and PatchFiles actions
are executed. Therefore this patch moves the parts of these actions handling
global assemblies to InstallFinalize.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51345
2023-02-02 18:08:39 +01:00
Hans Leidekker 79ec3d9fb8 msi/tests: Avoid test failures when running with insufficient rights.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51040
2023-02-01 17:11:52 +01:00
Hans Leidekker 69154f0329 ntdll: Default to Windows 10. 2023-02-01 17:11:47 +01:00
Alex Henrie d394df4a30 msi: Fix memory leak on realloc failure in search_directory (cppcheck). 2023-01-24 22:10:45 +01:00
Alex Henrie 6c1dd0f2c5 msi: Fix memory leak on realloc failure in msi_get_window_text (cppcheck). 2023-01-24 22:10:36 +01:00
Alex Henrie 3e231d0f36 msi: Fix memory leak on realloc failure in create_diff_row_query (cppcheck). 2023-01-24 22:10:29 +01:00
Philip K. Gisslow 904bedb3e9 msi: Initialize all members of WINTRUST_DATA.
The pSignatureSettings field was not unitilized so it got a random value from
the stack causing a later crash when it was dereferenced in Wintrust
(SoftPubloadSignature).
2023-01-06 13:39:45 +01:00
Alex Henrie d920aa81ad msi: Remove wrappers around CRT memory allocation functions. 2022-12-06 20:54:16 +01:00
Alex Henrie b07c95e79c msi: Use _O_* constants from fcntl.h instead of redefining them. 2022-12-06 17:04:50 +01:00
Alex Henrie 7cc7a6defc msi: Use the wcsdup function instead of reimplementing it. 2022-12-01 20:36:05 +01:00
Alex Henrie 2fde0a3f5c msi/tests: Correct a couple of failure messages in test_msirecord. 2022-11-17 09:57:22 +01:00
Paul Gofman a58c625187 msi: Disable FS redirection for temporary file in cabinet_copy_file(). 2022-09-28 21:23:16 +02:00
Rémi Bernon 7b44906361 msi: Avoid using pointer value after free.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
2022-06-15 11:53:29 +02:00
Hans Leidekker 7bf7340eb6 msi/tests: Fix an intermittent test failure.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52993
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-16 10:42:06 +02:00
Francois Gouget 194d1b7258 msi/tests: Fix the trailing linefeed in an ok() message.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-14 21:20:41 +01:00
Hans Leidekker 1bab386adf msi/tests: Correctly free usersid.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-08 11:26:48 +01:00