Module: wine Branch: master Commit: 55fe39e07b6070df17311c65a192ad0fe321c907 URL: http://source.winehq.org/git/wine.git/?a=commit;h=55fe39e07b6070df17311c65a1...
Author: Detlef Riekenberg wine.dev@web.de Date: Mon Oct 22 18:18:41 2007 +0200
comdlg32: Do not crash with PageSetupDlg(NULL).
---
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(LPPAGESETUPDLGA setupdlg) { 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(LPPAGESETUPDLGA setupdlg) { 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(LPPAGESETUPDLGW setupdlg) { 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;