diff --git a/scp.c b/scp.c index 5db59b0a..78c7c14d 100644 --- a/scp.c +++ b/scp.c @@ -2873,8 +2873,8 @@ if (cptr == NULL) { } else cptr2 = NULL; -if (cptr && sizeof (nbuf) > strlen (cptr) + strlen ("/simh.ini") + 1) { - sprintf(nbuf, "\"%s%s%ssimh.ini\"", cptr2 ? cptr2 : "", cptr, strchr (cptr, '/') ? "/" : "\\"); +if (cptr && (sizeof (nbuf) > strlen (cptr) + strlen ("/simh.ini") + 3)) { + snprintf(nbuf, sizeof (nbuf), "\"%s%s%ssimh.ini\"", cptr2 ? cptr2 : "", cptr, strchr (cptr, '/') ? "/" : "\\"); stat = do_cmd (-1, nbuf) & ~SCPE_NOMESSAGE; /* simh.ini proc cmd file */ } if (SCPE_BARE_STATUS(stat) == SCPE_OPENERR)