--- freem/src/ssvn_routine.c 2025/03/22 18:43:54 1.4 +++ freem/src/ssvn_routine.c 2025/04/13 04:22:43 1.5 @@ -1,5 +1,5 @@ /* - * $Id: ssvn_routine.c,v 1.4 2025/03/22 18:43:54 snw Exp $ + * $Id: ssvn_routine.c,v 1.5 2025/04/13 04:22:43 snw Exp $ * ^$ROUTINE ssvn * * @@ -24,6 +24,9 @@ * along with FreeM. If not, see . * * $Log: ssvn_routine.c,v $ + * Revision 1.5 2025/04/13 04:22:43 snw + * Fix snprintf calls + * * Revision 1.4 2025/03/22 18:43:54 snw * Make STRLEN 255 chars and add BIGSTR macro for larger buffers * @@ -76,21 +79,21 @@ void ssvn_routine_add_dir(char *rtndir) strcpy (rtnname, ent->d_name); rtnname[strlen (ent->d_name) - 2] = '\0'; - snprintf (k_buf, STRLEN, "^$ROUTINE\202%s\202CHARACTER\201", rtnname); - snprintf (d_buf, STRLEN, "M\201"); + snprintf (k_buf, STRLEN - 1, "^$ROUTINE\202%s\202CHARACTER\201", rtnname); + snprintf (d_buf, STRLEN - 1, "M\201"); symtab_bltin (set_sym, k_buf, d_buf); - snprintf (k_buf, STRLEN, "^$ROUTINE\202%s\202NAMESPACE\201", rtnname); + snprintf (k_buf, STRLEN - 1, "^$ROUTINE\202%s\202NAMESPACE\201", rtnname); if (rtnname[0] == '%') { - snprintf (d_buf, STRLEN, "SYSTEM\201"); + snprintf (d_buf, STRLEN - 1, "SYSTEM\201"); } else { - snprintf (d_buf, STRLEN, "%s\201", nsname); + snprintf (d_buf, STRLEN - 1, "%s\201", nsname); } symtab_bltin (set_sym, k_buf, d_buf); - snprintf (k_buf, STRLEN, "^$ROUTINE\202%s\202PATH\201", rtnname); + snprintf (k_buf, STRLEN - 1, "^$ROUTINE\202%s\202PATH\201", rtnname); if (rtnname[0] == '%') { stcpy (t_buf, rou0plib); @@ -100,7 +103,7 @@ void ssvn_routine_add_dir(char *rtndir) } stcnv_m2c (t_buf); - snprintf (d_buf, STRLEN, "%s/%s\201", t_buf, filename); + snprintf (d_buf, STRLEN - 1, "%s/%s\201", t_buf, filename); symtab_bltin (set_sym, k_buf, d_buf);