=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/rcs/rlog.c,v retrieving revision 1.74 retrieving revision 1.75 diff -c -r1.74 -r1.75 *** src/usr.bin/rcs/rlog.c 2016/10/16 13:35:51 1.74 --- src/usr.bin/rcs/rlog.c 2020/10/15 19:47:46 1.75 *************** *** 1,4 **** ! /* $OpenBSD: rlog.c,v 1.74 2016/10/16 13:35:51 okan Exp $ */ /* * Copyright (c) 2005, 2009 Joris Vink * Copyright (c) 2005, 2006 Xavier Santolaria --- 1,4 ---- ! /* $OpenBSD: rlog.c,v 1.75 2020/10/15 19:47:46 naddy Exp $ */ /* * Copyright (c) 2005, 2009 Joris Vink * Copyright (c) 2005, 2006 Xavier Santolaria *************** *** 28,33 **** --- 28,34 ---- #include #include #include + #include #include #include #include *************** *** 348,354 **** static void rlog_file(const char *fname, RCSFILE *file) { ! char numb[RCS_REV_BUFSZ]; u_int nrev; struct rcs_sym *sym; struct rcs_access *acp; --- 349,355 ---- static void rlog_file(const char *fname, RCSFILE *file) { ! char fnamebuf[PATH_MAX], numb[RCS_REV_BUFSZ]; u_int nrev; struct rcs_sym *sym; struct rcs_access *acp; *************** *** 364,370 **** } else nrev = file->rf_ndelta; ! if ((workfile = basename(fname)) == NULL) err(1, "basename"); /* --- 365,374 ---- } else nrev = file->rf_ndelta; ! if (strlcpy(fnamebuf, fname, sizeof(fnamebuf)) >= sizeof(fnamebuf)) ! errx(1, "rlog_file: truncation"); ! ! if ((workfile = basename(fnamebuf)) == NULL) err(1, "basename"); /*