From b22e7ecc3f041dfe12c6bda14a8b2b5f7e8173c3 Mon Sep 17 00:00:00 2001 From: Karl Heuer Date: Fri, 25 Mar 1994 07:20:08 +0000 Subject: [PATCH] (Fformat): Validate number and type of arguments. --- src/editfns.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/editfns.c b/src/editfns.c index 037c00d3c8b..e3863c5f117 100644 --- a/src/editfns.c +++ b/src/editfns.c @@ -1463,7 +1463,7 @@ Use %% to put a single % into the output.") if (*format == '%') format++; else if (++n >= nargs) - ; + error ("format string wants too many arguments"); else if (*format == 'S') { /* For `S', prin1 the argument and then treat like a string. */ @@ -1480,6 +1480,8 @@ Use %% to put a single % into the output.") else if (XTYPE (args[n]) == Lisp_String) { string: + if (*format != 's' && *format != 'S') + error ("format specifier doesn't match argument type"); total += XSTRING (args[n])->size; } /* Would get MPV otherwise, since Lisp_Int's `point' to low memory. */ -- 2.11.4.GIT