[prev in list] [next in list] [prev in thread] [next in thread]
List: wine-devel
Subject: winedbg and missing registry values
From: Uwe Bonnes <bon () elektron ! ikp ! physik ! tu-darmstadt ! de>
Date: 2000-04-30 22:01:05
[Download RAW message or body]
Hallo Eric, Hallo All,
if the "Software\\Wine\\WineDbg" registry branch doesn't exist,
DEBUG_IntVars[i].pval doesn't get initialised and dereferencing it
later with the DBG_IVAR() macro crashed.
What about making the DBG_IVAR macro only dereference non NULL
pointers like with the patch below?
I too think that either the DEBUG_IntVarsRW() branch with RegOpenKey()
failing should emit some warning or initialize the pointers.
It will make life easier for people who don't read the instructions
(like me) :-)
Bye
Uwe Bonnes bon@elektron.ikp.physik.tu-darmstadt.de
Free Software: If you contribute nothing, expect nothing
--
Index: wine/debugger/debugger.h
===================================================================
RCS file: /home/wine/wine/debugger/debugger.h,v
retrieving revision 1.8
diff -u -r1.8 debugger.h
--- wine/debugger/debugger.h 2000/04/30 12:21:15 1.8
+++ wine/debugger/debugger.h 2000/04/30 21:55:34
@@ -468,7 +468,7 @@
#define DBG_IVARNAME(_var) DEBUG_IV_##_var
#define DBG_IVARSTRUCT(_var) DEBUG_IntVars[DBG_IVARNAME(_var)]
-#define DBG_IVAR(_var) (*(DBG_IVARSTRUCT(_var).pval))
+#define DBG_IVAR(_var) (DBG_IVARSTRUCT(_var).pval)?(*(DBG_IVARSTRUCT(_var).pval)):0
#define INTERNAL_VAR(_var,_val,_ref,_typ) DBG_IVARNAME(_var),
enum debug_int_var {
#include "intvar.h"
Index: wine/debugger/debugger.h
===================================================================
RCS file: /home/wine/wine/debugger/debugger.h,v
retrieving revision 1.8
diff -u -r1.8 debugger.h
--- wine/debugger/debugger.h 2000/04/30 12:21:15 1.8
+++ wine/debugger/debugger.h 2000/04/30 21:55:48
@@ -468,7 +468,7 @@
#define DBG_IVARNAME(_var) DEBUG_IV_##_var
#define DBG_IVARSTRUCT(_var) DEBUG_IntVars[DBG_IVARNAME(_var)]
-#define DBG_IVAR(_var) (*(DBG_IVARSTRUCT(_var).pval))
+#define DBG_IVAR(_var) (DBG_IVARSTRUCT(_var).pval)?(*(DBG_IVARSTRUCT(_var).pval)):0
#define INTERNAL_VAR(_var,_val,_ref,_typ) DBG_IVARNAME(_var),
enum debug_int_var {
#include "intvar.h"
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic