[11/13] msi: Don't create a copy of deferred custom action data.
Hans Leidekker
hans at codeweavers.com
Mon Oct 29 06:16:10 CDT 2012
---
dlls/msi/custom.c | 13 ++++---------
1 file changed, 4 insertions(+), 9 deletions(-)
diff --git a/dlls/msi/custom.c b/dlls/msi/custom.c
index a3c253a..a4e6998 100644
--- a/dlls/msi/custom.c
+++ b/dlls/msi/custom.c
@@ -1225,23 +1225,19 @@ UINT ACTION_CustomAction(MSIPACKAGE *package, LPCWSTR action, UINT script, BOOL
UINT rc = ERROR_SUCCESS;
MSIRECORD *row;
UINT type;
- LPCWSTR source, target;
- LPWSTR ptr, deferred_data = NULL;
- LPWSTR deformated = NULL, action_copy = strdupW(action);
+ const WCHAR *source, *target, *ptr, *deferred_data = NULL;
+ WCHAR *deformated = NULL;
/* deferred action: [properties]Action */
- if ((ptr = strrchrW(action_copy, ']')))
+ if ((ptr = strrchrW(action, ']')))
{
- deferred_data = action_copy;
+ deferred_data = action;
action = ptr + 1;
}
row = MSI_QueryGetRecord( package->db, query, action );
if (!row)
- {
- msi_free(action_copy);
return ERROR_CALL_NOT_IMPLEMENTED;
- }
type = MSI_RecordGetInteger(row,2);
source = MSI_RecordGetString(row,3);
@@ -1361,7 +1357,6 @@ end:
package->scheduled_action_running = FALSE;
package->commit_action_running = FALSE;
package->rollback_action_running = FALSE;
- msi_free(action_copy);
msiobj_release(&row->hdr);
return rc;
}
--
1.7.10.4
More information about the wine-patches
mailing list