|
@@ -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
|