=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/rcs/rcsprog.c,v retrieving revision 1.121 retrieving revision 1.122 diff -u -r1.121 -r1.122 --- src/usr.bin/rcs/rcsprog.c 2006/04/29 05:10:16 1.121 +++ src/usr.bin/rcs/rcsprog.c 2006/04/29 05:31:28 1.122 @@ -1,4 +1,4 @@ -/* $OpenBSD: rcsprog.c,v 1.121 2006/04/29 05:10:16 ray Exp $ */ +/* $OpenBSD: rcsprog.c,v 1.122 2006/04/29 05:31:28 ray Exp $ */ /* * Copyright (c) 2005 Jean-Francois Brousseau * All rights reserved. @@ -74,8 +74,9 @@ int argc, error; char linebuf[256], *lp, *cp; - strlcpy(linebuf, envstr, sizeof(linebuf)); - memset(argv, 0, argvlen * sizeof(char *)); + if (strlcpy(linebuf, envstr, sizeof(linebuf)) >= sizeof(linebuf)) + errx(1, "rcs_init: string truncation"); + (void)memset(argv, 0, argvlen * sizeof(char *)); error = argc = 0; for (lp = linebuf; lp != NULL;) {