link names could have been lost, generating corrupt filenames.
-$Id: CHANGES,v 1.259 2004/11/22 10:32:31 stelian Exp $
+$Id: CHANGES,v 1.260 2004/12/10 13:31:20 stelian Exp $
Changes between versions 0.4b37 and 0.4b38 (released ????????????)
==================================================================
Thanks to Kevin B. Haines <K.B.Haines@rl.ac.uk> for
submitting the bug and testing the fix.
+6. Fix a problem in restore where the final \0 in the symbolic
+ link names could have been lost, generating corrupt filenames.
+ Thanks to Kyle Wilson <kyle.wilson@amd.com> for reporting the
+ bug.
+
Changes between versions 0.4b36 and 0.4b37 (released July 7, 2004)
==================================================================
-$Id: THANKS,v 1.87 2004/11/22 10:32:31 stelian Exp $
+$Id: THANKS,v 1.88 2004/12/10 13:31:20 stelian Exp $
Dump and restore were written by the people of the CSRG at the University
of California, Berkeley.
Jason Venner jason@idiom.com
John I Wang jiwang@users.sourceforge.net
Christian Weisgerber naddy@mips.rhein-neckar.de
+Kyle Wilson kyle.wilson@amd.com
Kim Yong-jun loveyou@hackerslab.org
John Yu jky@it.bu.edu
Ian Zimmerman itz@speakeasy.org
#ifndef lint
static const char rcsid[] =
- "$Id: tape.c,v 1.82 2004/08/16 09:39:47 stelian Exp $";
+ "$Id: tape.c,v 1.83 2004/12/10 13:31:21 stelian Exp $";
#endif /* not lint */
#include <config.h>
{
pathlen += size;
- if (pathlen > MAXPATHLEN)
+ if (pathlen > MAXPATHLEN) {
+ buf[size - 1] = '\0';
errx(1, "symbolic link name: %s->%s%s; too long %d",
curfile.name, lnkbuf, buf, pathlen);
+ }
(void) strcat(lnkbuf, buf);
+ lnkbuf[pathlen] = '\0';
}
/*