=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/cvs/util.c,v retrieving revision 1.116 retrieving revision 1.117 diff -c -r1.116 -r1.117 *** src/usr.bin/cvs/util.c 2007/09/09 20:24:06 1.116 --- src/usr.bin/cvs/util.c 2007/09/19 11:53:27 1.117 *************** *** 1,4 **** ! /* $OpenBSD: util.c,v 1.116 2007/09/09 20:24:06 tobias Exp $ */ /* * Copyright (c) 2004 Jean-Francois Brousseau * Copyright (c) 2005, 2006 Joris Vink --- 1,4 ---- ! /* $OpenBSD: util.c,v 1.117 2007/09/19 11:53:27 tobias Exp $ */ /* * Copyright (c) 2004 Jean-Francois Brousseau * Copyright (c) 2005, 2006 Joris Vink *************** *** 226,239 **** int cvs_getargv(const char *line, char **argv, int argvlen) { - size_t l; u_int i; int argc, error; ! char linebuf[256], qbuf[128], *lp, *cp, *arg; ! l = strlcpy(linebuf, line, sizeof(linebuf)); ! if (l >= sizeof(linebuf)) ! fatal("cvs_getargv: string truncation"); memset(argv, 0, argvlen * sizeof(char *)); argc = 0; --- 226,236 ---- int cvs_getargv(const char *line, char **argv, int argvlen) { u_int i; int argc, error; ! char qbuf[128], *linebuf, *lp, *cp, *arg; ! linebuf = xstrdup(line); memset(argv, 0, argvlen * sizeof(char *)); argc = 0; *************** *** 292,297 **** --- 289,295 ---- argc = -1; } + xfree(linebuf); return (argc); }