summaryrefslogtreecommitdiffstats
path: root/sys/fs/cd9660
diff options
context:
space:
mode:
authorjoerg <joerg@FreeBSD.org>2006-03-13 22:32:33 +0000
committerjoerg <joerg@FreeBSD.org>2006-03-13 22:32:33 +0000
commit0ec2804ceedb5182252f4c9d17a687ddbb063744 (patch)
tree041203eb99055a6b9405defe930f9315b3ed1701 /sys/fs/cd9660
parent39931688d6c394205476650314f780b07abd3170 (diff)
downloadFreeBSD-src-0ec2804ceedb5182252f4c9d17a687ddbb063744.zip
FreeBSD-src-0ec2804ceedb5182252f4c9d17a687ddbb063744.tar.gz
When encountering a ISO_SUSP_CFLAG_ROOT element in Rock Ridge
processing, this actually means there's a double slash recorded in the symbolic link's path name. We used to start over from / then, which caused link targets like ../../bsdi.1.0/include//pathnames.h to be interpreted as /pathnahes.h. This is both contradictionary to our conventional slash interpretation, as well as potentially dangerous. The right thing to do is (obviously) to just ignore that element. bde once pointed out that mistake when he noticed it on the 4.4BSD-Lite2 CD-ROM, and asked me for help. Reviewed by: bde (about half a year ago) MFC after: 3 days
Diffstat (limited to 'sys/fs/cd9660')
-rw-r--r--sys/fs/cd9660/cd9660_rrip.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/sys/fs/cd9660/cd9660_rrip.c b/sys/fs/cd9660/cd9660_rrip.c
index aae7394..0b9b1b5 100644
--- a/sys/fs/cd9660/cd9660_rrip.c
+++ b/sys/fs/cd9660/cd9660_rrip.c
@@ -157,9 +157,7 @@ cd9660_rrip_slink(p,ana)
case ISO_SUSP_CFLAG_ROOT:
/* Inserting slash for ROOT */
- /* start over from beginning(?) */
- outbuf -= len;
- len = 0;
+ /* Double slash, nothing really to do here. */
break;
case ISO_SUSP_CFLAG_VOLROOT:
OpenPOWER on IntegriCloud