[PATCH] comdlg32: Do not crash with PageSetupDlg(NULL)
Detlef Riekenberg
wine.dev at web.de
Mon Oct 22 11:18:41 CDT 2007
---
dlls/comdlg32/printdlg.c | 16 ++++++++++++----
1 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/dlls/comdlg32/printdlg.c b/dlls/comdlg32/printdlg.c
index 490a794..b995624 100644
--- a/dlls/comdlg32/printdlg.c
+++ b/dlls/comdlg32/printdlg.c
@@ -3383,6 +3383,11 @@ BOOL WINAPI PageSetupDlgA(LPPAGESETUPDLG
PageSetupDataA *pda;
PRINTDLGA pdlg;
+ if (setupdlg == NULL) {
+ COMDLG32_SetCommDlgExtendedError(CDERR_INITIALIZATION);
+ return FALSE;
+ }
+
/* TRACE */
if(TRACE_ON(commdlg)) {
char flagstr[1000] = "";
@@ -3399,11 +3404,8 @@ BOOL WINAPI PageSetupDlgA(LPPAGESETUPDLG
setupdlg->hDevNames,
setupdlg->hInstance, setupdlg->Flags, flagstr);
}
+
/* Checking setupdlg structure */
- if (setupdlg == NULL) {
- COMDLG32_SetCommDlgExtendedError(CDERR_INITIALIZATION);
- return FALSE;
- }
if(setupdlg->lStructSize != sizeof(PAGESETUPDLGA)) {
COMDLG32_SetCommDlgExtendedError(CDERR_STRUCTSIZE);
return FALSE;
@@ -3488,6 +3490,12 @@ BOOL WINAPI PageSetupDlgW(LPPAGESETUPDLG
PRINTDLGW pdlg;
FIXME("Unicode implementation is not done yet\n");
+
+ if (setupdlg == NULL) {
+ COMDLG32_SetCommDlgExtendedError(CDERR_INITIALIZATION);
+ return FALSE;
+ }
+
if(TRACE_ON(commdlg)) {
char flagstr[1000] = "";
const struct pd_flags *pflag = psd_flags;
--
1.4.1
--=-d7lKoyKgMYpM1H4EzcNz--
More information about the wine-patches
mailing list