mirror of
https://github.com/reactos/reactos.git
synced 2024-09-06 19:02:32 +00:00
27 lines
1.2 KiB
Diff
27 lines
1.2 KiB
Diff
![]() |
diff --git a/sdk/tools/winesync/msi_staging/0001-msi__Do_not_sign_extend_after_multiplying.diff b/sdk/tools/winesync/msi_staging/0001-msi__Do_not_sign_extend_after_multiplying.diff
|
||
|
new file mode 100644
|
||
|
index 00000000000..307428366a3
|
||
|
--- /dev/null
|
||
|
+++ b/sdk/tools/winesync/msi_staging/0001-msi__Do_not_sign_extend_after_multiplying.diff
|
||
|
@@ -0,0 +1,20 @@
|
||
|
+diff --git a/dll/win32/msi/dialog.c b/dll/win32/msi/dialog.c
|
||
|
+index 9d82be8..8e4c151 100644
|
||
|
+--- a/dll/win32/msi/dialog.c
|
||
|
++++ b/dll/win32/msi/dialog.c
|
||
|
+@@ -3186,13 +3186,13 @@ static LONGLONG msi_vcl_get_cost( msi_dialog *dialog )
|
||
|
+ MSICOSTTREE_SELFONLY, INSTALLSTATE_LOCAL, &each_cost)))
|
||
|
+ {
|
||
|
+ /* each_cost is in 512-byte units */
|
||
|
+- total_cost += each_cost * 512;
|
||
|
++ total_cost += ((LONGLONG)each_cost) * 512;
|
||
|
+ }
|
||
|
+ if (ERROR_SUCCESS == (MSI_GetFeatureCost(dialog->package, feature,
|
||
|
+ MSICOSTTREE_SELFONLY, INSTALLSTATE_ABSENT, &each_cost)))
|
||
|
+ {
|
||
|
+ /* each_cost is in 512-byte units */
|
||
|
+- total_cost -= each_cost * 512;
|
||
|
++ total_cost -= ((LONGLONG)each_cost) * 512;
|
||
|
+ }
|
||
|
+ }
|
||
|
+ return total_cost;
|