summaryrefslogtreecommitdiffstats
path: root/generic/tclBasic.c
diff options
context:
space:
mode:
authorsebres <sebres@users.sourceforge.net>2024-12-27 21:17:08 (GMT)
committersebres <sebres@users.sourceforge.net>2024-12-27 21:17:08 (GMT)
commit3fe703f38e8d6abe39c0c23a7589c3b49cb6c69b (patch)
treef7f9fe2122719c66a472f297291f6154aac6617b /generic/tclBasic.c
parentd64f4020e462523f8c5768641857a6c1502b8ce8 (diff)
downloadtcl-3fe703f38e8d6abe39c0c23a7589c3b49cb6c69b.zip
tcl-3fe703f38e8d6abe39c0c23a7589c3b49cb6c69b.tar.gz
tcl-3fe703f38e8d6abe39c0c23a7589c3b49cb6c69b.tar.bz2
fixes [98006f00ac471be5] tcl::mathfunc::isunordered mistakenly considered non-double numbers (e.g. int) as double
Diffstat (limited to 'generic/tclBasic.c')
-rw-r--r--generic/tclBasic.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/generic/tclBasic.c b/generic/tclBasic.c
index 6b8d1b9..98cdb00 100644
--- a/generic/tclBasic.c
+++ b/generic/tclBasic.c
@@ -8893,7 +8893,9 @@ ExprIsUnorderedFunc(
if (type == TCL_NUMBER_NAN) {
result = 1;
} else {
- d = *((const double *) ptr);
+ if (Tcl_GetDoubleFromObj(interp, objv[1], &d) != TCL_OK) {
+ return TCL_ERROR;
+ }
result = (ClassifyDouble(d) == FP_NAN);
}
@@ -8903,7 +8905,9 @@ ExprIsUnorderedFunc(
if (type == TCL_NUMBER_NAN) {
result |= 1;
} else {
- d = *((const double *) ptr);
+ if (Tcl_GetDoubleFromObj(interp, objv[1], &d) != TCL_OK) {
+ return TCL_ERROR;
+ }
result |= (ClassifyDouble(d) == FP_NAN);
}