Bump FORMAT_LOOOP_LIMIT and add a log message when hit, GitHub issue 2715.

This commit is contained in:
nicm 2021-06-10 07:58:08 +00:00
parent 3a5b576399
commit 8d75542986

View File

@ -103,7 +103,7 @@ format_job_cmp(struct format_job *fj1, struct format_job *fj2)
#define FORMAT_CHARACTER 0x10000 #define FORMAT_CHARACTER 0x10000
/* Limit on recursion. */ /* Limit on recursion. */
#define FORMAT_LOOP_LIMIT 10 #define FORMAT_LOOP_LIMIT 100
/* Format expand flags. */ /* Format expand flags. */
#define FORMAT_EXPAND_TIME 0x1 #define FORMAT_EXPAND_TIME 0x1
@ -3991,7 +3991,7 @@ format_replace_expression(struct format_modifier *mexp,
result = (mleft < mright); result = (mleft < mright);
break; break;
case LESS_THAN_EQUAL: case LESS_THAN_EQUAL:
result = (mleft >= mright); result = (mleft <= mright);
break; break;
} }
if (use_fp) if (use_fp)
@ -4441,8 +4441,10 @@ format_expand1(struct format_expand_state *es, const char *fmt)
if (fmt == NULL || *fmt == '\0') if (fmt == NULL || *fmt == '\0')
return (xstrdup("")); return (xstrdup(""));
if (es->loop == FORMAT_LOOP_LIMIT) if (es->loop == FORMAT_LOOP_LIMIT) {
format_log(es, "reached loop limit (%u)", FORMAT_LOOP_LIMIT);
return (xstrdup("")); return (xstrdup(""));
}
es->loop++; es->loop++;
format_log(es, "expanding format: %s", fmt); format_log(es, "expanding format: %s", fmt);