Don't coredump if format given via -w doesn't contain alphanumeric

character; in such case, warn user the format is invalid.

This addresses bin/12316 by Perry E. Metzger.
This commit is contained in:
jdolecek 2001-03-02 21:17:31 +00:00
parent 22961fea9b
commit 13cb1a6488

View File

@ -1,4 +1,4 @@
/* $NetBSD: jot.c,v 1.5 1998/12/19 17:06:20 christos Exp $ */
/* $NetBSD: jot.c,v 1.6 2001/03/02 21:17:31 jdolecek Exp $ */
/*-
* Copyright (c) 1993
@ -43,7 +43,7 @@ __COPYRIGHT("@(#) Copyright (c) 1993\n\
#if 0
static char sccsid[] = "@(#)jot.c 8.1 (Berkeley) 6/6/93";
#endif
__RCSID("$NetBSD: jot.c,v 1.5 1998/12/19 17:06:20 christos Exp $");
__RCSID("$NetBSD: jot.c,v 1.6 2001/03/02 21:17:31 jdolecek Exp $");
#endif /* not lint */
/*
@ -381,8 +381,8 @@ getformat()
else if (!*(p+1))
strcat(format, "%"); /* cannot end in single '%' */
else {
while (!isalpha((unsigned char)*p))
p++;
for(; *p && !isalpha((unsigned char)*p); p++)
;
switch (*p) {
case 'f': case 'e': case 'g': case '%':
break;
@ -392,6 +392,8 @@ getformat()
/* case 'd': case 'o': case 'x': case 'D': case 'O': case 'X':
case 'c': case 'u': */
default:
if (!isalpha(*p))
error("Invalid format '%s'", format);
dox = 1;
break;
}