summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--generic/tcl.h6
2 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index ef04907..092d5f9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-12-13 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * generic/tcl.h: Fix Tcl_DecrRefCount macro such that it
+ doesn't access its objPtr parameter twice any more.
+
2012-11-14 Donal K. Fellows <dkf@users.sf.net>
* unix/tclUnixPipe.c (DefaultTempDir): [Bug 2933003]: Allow overriding
diff --git a/generic/tcl.h b/generic/tcl.h
index 48fe062..bf9b446 100644
--- a/generic/tcl.h
+++ b/generic/tcl.h
@@ -832,9 +832,9 @@ int Tcl_IsShared _ANSI_ARGS_((Tcl_Obj *objPtr));
*/
# define Tcl_DecrRefCount(objPtr) \
do { \
- Tcl_Obj *obj = (objPtr); \
- if ((obj)->refCount-- < 2) { \
- TclFreeObj(obj); \
+ Tcl_Obj *_objPtr = (objPtr); \
+ if (_objPtr->refCount-- < 2) { \
+ TclFreeObj(_objPtr); \
} \
} while(0)
# define Tcl_IsShared(objPtr) \