aboutsummaryrefslogtreecommitdiff
path: root/sys/fs/cd9660
diff options
context:
space:
mode:
authorJoerg Wunsch <joerg@FreeBSD.org>2006-03-13 22:32:33 +0000
committerJoerg Wunsch <joerg@FreeBSD.org>2006-03-13 22:32:33 +0000
commitf7d5a5328faa1cb0b6ad60860e8f46d748507c88 (patch)
tree041203eb99055a6b9405defe930f9315b3ed1701 /sys/fs/cd9660
parent0f9f3dd16b70f7e214a0254d799269816d637df4 (diff)
downloadsrc-f7d5a5328faa1cb0b6ad60860e8f46d748507c88.tar.gz
src-f7d5a5328faa1cb0b6ad60860e8f46d748507c88.zip
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
Notes
Notes: svn path=/head/; revision=156693
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 aae739441846..0b9b1b58e283 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: