=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/cvs/add.c,v retrieving revision 1.63 retrieving revision 1.64 diff -c -r1.63 -r1.64 *** src/usr.bin/cvs/add.c 2006/12/19 15:12:59 1.63 --- src/usr.bin/cvs/add.c 2006/12/19 15:15:14 1.64 *************** *** 1,4 **** ! /* $OpenBSD: add.c,v 1.63 2006/12/19 15:12:59 joris Exp $ */ /* * Copyright (c) 2006 Joris Vink * Copyright (c) 2005, 2006 Xavier Santolaria --- 1,4 ---- ! /* $OpenBSD: add.c,v 1.64 2006/12/19 15:15:14 joris Exp $ */ /* * Copyright (c) 2006 Joris Vink * Copyright (c) 2005, 2006 Xavier Santolaria *************** *** 111,116 **** --- 111,119 ---- entry = xmalloc(CVS_ENT_MAXLINELEN); l = snprintf(entry, CVS_ENT_MAXLINELEN, "D/%s/////", cf->file_name); + if (l == -1 || l >= CVS_ENT_MAXLINELEN) + fatal("cvs_add_entry: overflow"); + entlist = cvs_ent_open(cf->file_wd); cvs_ent_add(entlist, entry); cvs_ent_close(entlist, ENT_SYNC);