aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--jim-format.c2
-rw-r--r--regtest.tcl5
2 files changed, 6 insertions, 1 deletions
diff --git a/jim-format.c b/jim-format.c
index c3e606a..e9b1d5c 100644
--- a/jim-format.c
+++ b/jim-format.c
@@ -400,7 +400,7 @@ Jim_Obj *Jim_FormatString(Jim_Interp *interp, Jim_Obj *fmtObjPtr, int objc, Jim_
*p = '\0';
/* Put some reasonable limits on the field size */
- if (width > 10000 || length > 10000) {
+ if (width > 10000 || length > 10000 || precision > 10000) {
Jim_SetResultString(interp, "format too long", -1);
goto error;
}
diff --git a/regtest.tcl b/regtest.tcl
index 15dc3ec..aae22d5 100644
--- a/regtest.tcl
+++ b/regtest.tcl
@@ -335,6 +335,11 @@ puts "TEST 47 PASSED"
catch {scan a {%-9999999$c}}
puts "TEST 48 PASSED"
+# REGTEST 49
+# format: precision too large
+catch {format %1.9999999999f 1.0}
+puts "TEST 49 PASSED"
+
# TAKE THE FOLLOWING puts AS LAST LINE
puts "--- ALL TESTS PASSED ---"