msi: Avoid using dialog record after free.

Dmitry Timoshkov dmitry at baikal.ru
Tue Aug 18 04:40:05 CDT 2015


This also avoids double free of the dialog record.

For bug 39099.
---
 dlls/msi/dialog.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/dlls/msi/dialog.c b/dlls/msi/dialog.c
index 5d3527f..a79ce1f 100644
--- a/dlls/msi/dialog.c
+++ b/dlls/msi/dialog.c
@@ -3664,8 +3664,11 @@ static LRESULT msi_dialog_oncreate( HWND hwnd, LPCREATESTRUCTW cs )
     if (!dialog->default_font)
     {
         dialog->default_font = strdupW(dfv);
-        msiobj_release( &rec->hdr );
-        if (!dialog->default_font) return -1;
+        if (!dialog->default_font)
+        {
+            msiobj_release( &rec->hdr );
+            return -1;
+        }
     }
 
     title = msi_get_deformatted_field( dialog->package, rec, 7 );
-- 
2.4.8




More information about the wine-patches mailing list