summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2022-11-10 15:21:13 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2022-11-10 15:21:13 (GMT)
commit9dd0e900483a5b0cca9e68966d34dffa814b43e2 (patch)
tree420e20ad7147c530b3c54b8def57cccdb9b21995 /generic
parent3b7f710d06680e498bd8d451f6c47cb6c78918f7 (diff)
downloadtcl-9dd0e900483a5b0cca9e68966d34dffa814b43e2.zip
tcl-9dd0e900483a5b0cca9e68966d34dffa814b43e2.tar.gz
tcl-9dd0e900483a5b0cca9e68966d34dffa814b43e2.tar.bz2
If value is out-of-range (e.g. on 32-bit system >= 2^32-1), Tcl_NewSizeObj() will result in a '-1' object as well
Diffstat (limited to 'generic')
-rw-r--r--generic/tclDecls.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/generic/tclDecls.h b/generic/tclDecls.h
index d802789..b9d2347 100644
--- a/generic/tclDecls.h
+++ b/generic/tclDecls.h
@@ -4432,8 +4432,8 @@ extern const TclStubs *tclStubsPtr;
#define Tcl_StringMatch(str, pattern) Tcl_StringCaseMatch((str), (pattern), 0)
#if TCL_MAJOR_VERSION > 8
-# define Tcl_NewSizeObj(value) (((value) == TCL_INDEX_NONE) ? Tcl_NewWideIntObj(-1) : Tcl_NewWideUIntObj(value))
-# define Tcl_SetSizeObj(objPtr, value) (((value) == TCL_INDEX_NONE) ? Tcl_SetWideIntObj(objPtr, -1) : Tcl_SetWideUIntObj(objPtr, value))
+# define Tcl_NewSizeObj(value) (((value) >= TCL_INDEX_NONE) ? Tcl_NewWideIntObj(-1) : Tcl_NewWideUIntObj(value))
+# define Tcl_SetSizeObj(objPtr, value) (((value) >= TCL_INDEX_NONE) ? Tcl_SetWideIntObj(objPtr, -1) : Tcl_SetWideUIntObj(objPtr, value))
#else
# define Tcl_NewSizeObj Tcl_NewIntObj
# define Tcl_SetSizeObj Tcl_SetIntObj