patch 8.2.3585: crash when passing float to "term_rows" of term_start()
Problem: Crash when passing float to "term_rows" in the options argument of
term_start(). (Virginia Senioria)
Solution: Bail out if the argument is not a number. (closes #9116)
diff --git a/src/job.c b/src/job.c
index fcb482c..80cb47e 100644
--- a/src/job.c
+++ b/src/job.c
@@ -424,10 +424,14 @@
}
else if (STRCMP(hi->hi_key, "term_rows") == 0)
{
+ int error = FALSE;
+
if (!(supported2 & JO2_TERM_ROWS))
break;
opt->jo_set2 |= JO2_TERM_ROWS;
- opt->jo_term_rows = tv_get_number(item);
+ opt->jo_term_rows = tv_get_number_chk(item, &error);
+ if (error)
+ return FAIL;
}
else if (STRCMP(hi->hi_key, "term_cols") == 0)
{