]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - fs/jffs2/dir.c
Merge git://git.infradead.org/mtd-2.6
[net-next-2.6.git] / fs / jffs2 / dir.c
index 79121aa5858b8a4aa02861ba57cf17d9a8dfe13b..92978658ed1803bc289840500e8a220cbf032ffa 100644 (file)
@@ -367,7 +367,7 @@ static int jffs2_symlink (struct inode *dir_i, struct dentry *dentry, const char
        }
 
        /* We use f->target field to store the target path. */
-       f->target = kmalloc(targetlen + 1, GFP_KERNEL);
+       f->target = kmemdup(target, targetlen + 1, GFP_KERNEL);
        if (!f->target) {
                printk(KERN_WARNING "Can't allocate %d bytes of memory\n", targetlen + 1);
                mutex_unlock(&f->sem);
@@ -376,7 +376,6 @@ static int jffs2_symlink (struct inode *dir_i, struct dentry *dentry, const char
                goto fail;
        }
 
-       memcpy(f->target, target, targetlen + 1);
        D1(printk(KERN_DEBUG "jffs2_symlink: symlink's target '%s' cached\n", (char *)f->target));
 
        /* No data here. Only a metadata node, which will be