From 2de322e55edf01e7e1917aeb05608fa7b296da22 Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Mon, 16 May 2016 19:51:17 +0100 Subject: [PATCH] m4: remove unsafe tmp string functionality, and handle FIXME --- Applications/MWC/cmd/m4.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/Applications/MWC/cmd/m4.c b/Applications/MWC/cmd/m4.c index 248ad851..8170029d 100644 --- a/Applications/MWC/cmd/m4.c +++ b/Applications/MWC/cmd/m4.c @@ -122,23 +122,25 @@ char bqt = BQUOTE; char eqt = EQUOTE; /* VARARGS */ -void errorp(int f, ...) +void errorp(int f, const char *s, ...) { + va_list ap; + va_start(ap, s); + fprintf(stderr, "m4: "); -#if 0 - FIXME if (fstkptr != NULL) { + if (fstkptr != NULL) { if (fstkptr->f_name != NULL) fprintf(stderr, "%s: ", fstkptr->f_name->s_body); fprintf(stderr, "%d: ", fstkptr->f_line); } - fprintf(stderr, "%r", &x); + vfprintf(stderr, s, ap); putc('\n', stderr); if (f) { while (lstdchr != EOF && lstdchr != '\n') lstdchr = getchar(); exit(1); } -#endif + va_end(ap); } char *alloc(int n) @@ -838,6 +840,9 @@ void mlen(STRING ** pps) ((pps[1] != NULL) ? pps[1]->s_next - pps[1]->s_body : 0)); } +/* + +Removed as any implementaton of this is implicitly insecure void mmaketemp(STRING ** pps) { register char *pc; @@ -846,6 +851,7 @@ void mmaketemp(STRING ** pps) mktemp(pc); pushstr(pps[1]); } +*/ void msubstr(STRING ** pps) { @@ -995,7 +1001,7 @@ int main(int argc, char *argv[]) buildin("incr", mincr); buildin("index", mindex); buildin("len", mlen); - buildin("maketemp", mmaketemp); +/* buildin("maketemp", mmaketemp); */ buildin("sinclude", msinclude); buildin("substr", msubstr); buildin("syscmd", msyscmd); -- 2.34.1