Detlef Riekenberg : comdlg32: Do not crash with PageSetupDlg(NULL).
Alexandre Julliard
julliard at winehq.org
Tue Oct 23 13:14:34 CDT 2007
Module: wine
Branch: master
Commit: 55fe39e07b6070df17311c65a192ad0fe321c907
URL: http://source.winehq.org/git/wine.git/?a=commit;h=55fe39e07b6070df17311c65a192ad0fe321c907
Author: Detlef Riekenberg <wine.dev at 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;
More information about the wine-cvs
mailing list