--- hoc.y.orig Sun Oct 29 16:58:33 2006 +++ hoc.y Sun Oct 29 16:58:52 2006 @@ -223,8 +223,9 @@ yylex(void) /* hoc6 */ *p = backslash(c); } *p = 0; - yylval.sym = (Symbol *)emalloc(strlen(sbuf)+1); - strcpy((char*)yylval.sym, sbuf); + size_t buflen = strlen(sbuf) + 1; + yylval.sym = (Symbol *)emalloc(buflen); + strlcpy((char*)yylval.sym, sbuf, buflen); return STRING; } switch (c) { @@ -284,13 +285,13 @@ execerror(char* s, char* t) /* recover f } void -fpecatch(void) /* catch floating point exceptions */ +fpecatch(int signum) /* catch floating point exceptions */ { execerror("floating point exception", (char *) 0); } void -intcatch(void) /* catch interrupts */ +intcatch(int signum) /* catch interrupts */ { execerror("interrupt", (char *) 0); }