mirror of
git://slackware.nl/current.git
synced 2024-12-27 09:59:16 +01:00
b76270bf9e
Wed May 19 08:58:23 UTC 2010 Slackware 13.1 x86_64 stable is released! Lots of thanks are due -- see the RELEASE_NOTES and the rest of the ChangeLog for credits. The ISOs are on their way to replication, a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD. We are taking pre-orders now at store.slackware.com, and offering a discount if you sign up for a subscription. Consider picking up a copy to help support the project. Thanks again to the Slackware community for testing, contributing, and generally holding us to a high level of quality. :-) Enjoy!
74 lines
1.8 KiB
Diff
74 lines
1.8 KiB
Diff
--- rdist-6.1.5/src/client.c.links Wed Feb 17 17:46:09 1999
|
|
+++ rdist-6.1.5/src/client.c Wed Feb 17 17:51:15 1999
|
|
@@ -309,6 +309,18 @@
|
|
return(0);
|
|
}
|
|
|
|
+void freelinkinfo(lp)
|
|
+ struct linkbuf *lp;
|
|
+{
|
|
+ if (lp->pathname)
|
|
+ free(lp->pathname);
|
|
+ if (lp->src)
|
|
+ free(lp->src);
|
|
+ if (lp->target)
|
|
+ free(lp->target);
|
|
+ free(lp);
|
|
+}
|
|
+
|
|
/*
|
|
* Save and retrieve hard link info
|
|
*/
|
|
@@ -317,6 +329,7 @@
|
|
{
|
|
struct linkbuf *lp;
|
|
|
|
+ /* xxx: linear search doesn't scale with many links */
|
|
for (lp = ihead; lp != NULL; lp = lp->nextp)
|
|
if (lp->inum == statp->st_ino && lp->devnum == statp->st_dev) {
|
|
lp->count--;
|
|
@@ -329,12 +342,14 @@
|
|
lp->inum = statp->st_ino;
|
|
lp->devnum = statp->st_dev;
|
|
lp->count = statp->st_nlink - 1;
|
|
- (void) strcpy(lp->pathname, target);
|
|
- (void) strcpy(lp->src, source);
|
|
+ lp->pathname = strdup(target);
|
|
+ lp->src = strdup(source);
|
|
if (Tdest)
|
|
- (void) strcpy(lp->target, Tdest);
|
|
+ lp->target = strdup(Tdest);
|
|
else
|
|
- *lp->target = CNULL;
|
|
+ lp->target = NULL;
|
|
+ if (!lp->pathname || !lp->src || !(Tdest && lp->target))
|
|
+ fatalerr("Cannot malloc memory in linkinfo.");
|
|
|
|
return((struct linkbuf *) NULL);
|
|
}
|
|
--- rdist-6.1.5/src/docmd.c.links Wed Feb 17 17:51:23 1999
|
|
+++ rdist-6.1.5/src/docmd.c Wed Feb 17 17:52:44 1999
|
|
@@ -586,7 +586,7 @@
|
|
if (!nflag) {
|
|
register struct linkbuf *nextl, *l;
|
|
|
|
- for (l = ihead; l != NULL; free((char *)l), l = nextl) {
|
|
+ for (l = ihead; l != NULL; freelinkinfo(l), l = nextl) {
|
|
nextl = l->nextp;
|
|
if (contimedout || IS_ON(opts, DO_IGNLNKS) ||
|
|
l->count == 0)
|
|
--- rdist-6.1.5/include/defs.h.links Wed Feb 17 17:52:58 1999
|
|
+++ rdist-6.1.5/include/defs.h Wed Feb 17 17:53:47 1999
|
|
@@ -276,9 +276,9 @@
|
|
ino_t inum;
|
|
dev_t devnum;
|
|
int count;
|
|
- char pathname[BUFSIZ];
|
|
- char src[BUFSIZ];
|
|
- char target[BUFSIZ];
|
|
+ char *pathname;
|
|
+ char *src;
|
|
+ char *target;
|
|
struct linkbuf *nextp;
|
|
};
|
|
|