From 6ecb6b55e241e0ea0056810ad0091cfa1ba6836c Mon Sep 17 00:00:00 2001 From: Jan Kara Date: Mon, 12 Dec 2011 15:13:50 +0100 Subject: [PATCH] --- yaml --- r: 281453 b: refs/heads/master c: fef2e9f3301934773e4f1b3cc5c7bffb119346b8 h: refs/heads/master i: 281451: f57523a4e241431742c0391476a10a4fc83b1f6f v: v3 --- [refs] | 2 +- trunk/fs/udf/symlink.c | 14 ++++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 9a6f488923c5..d1e90498e163 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d2eb8c359309ec45d6bf5b147303ab8e13be86ea +refs/heads/master: fef2e9f3301934773e4f1b3cc5c7bffb119346b8 diff --git a/trunk/fs/udf/symlink.c b/trunk/fs/udf/symlink.c index b1d4488b0f14..d7c6dbe4194b 100644 --- a/trunk/fs/udf/symlink.c +++ b/trunk/fs/udf/symlink.c @@ -41,10 +41,16 @@ static void udf_pc_to_char(struct super_block *sb, unsigned char *from, pc = (struct pathComponent *)(from + elen); switch (pc->componentType) { case 1: - if (pc->lengthComponentIdent == 0) { - p = to; - *p++ = '/'; - } + /* + * Symlink points to some place which should be agreed + * upon between originator and receiver of the media. Ignore. + */ + if (pc->lengthComponentIdent > 0) + break; + /* Fall through */ + case 2: + p = to; + *p++ = '/'; break; case 3: memcpy(p, "../", 3);