Just for fun, I ran smatch (http://smatch.sourceforge.net/) on the m4 code. The only legitimate issue it found is fixed by this patch:
diff --git a/modules/format.c b/modules/format.c index b772290..2787154 100644 --- a/modules/format.c +++ b/modules/format.c @@ -333,7 +333,7 @@ format (m4 *context, m4_obstack *obs, int argc, m4_macro_args *argv) } c = *fmt; - if (c > sizeof ok || !ok[c] || !f_len) + if (c >= sizeof ok || !ok[c] || !f_len) { m4_warn (context, 0, me, _("unrecognized specifier in %s"), quotearg_style_mem (locale_quoting_style, f, M4ARGLEN (1))); If haven't tested it but it seems fairly clear to me. This issue exists both in latest git version (to which this patch applies) and 1.4.14. Cheers, Carlo _______________________________________________ M4-patches mailing list M4-patches@gnu.org http://lists.gnu.org/mailman/listinfo/m4-patches