提交 afcf0c13 编写于 作者: M Martin Stava 提交者: Eric Van Hensbergen

9p: fix bug in p9_clone_stat

This patch fixes a bug in the copying of 9P
stat information where string references
weren't being updated properly.
Signed-off-by: NMartin Sava <martin.stava@gmail.com>
Signed-off-by: NEric Van Hensbergen <ericvh@gmail.com>
上级 3e6bdf47
...@@ -901,16 +901,21 @@ static struct p9_stat *p9_clone_stat(struct p9_stat *st, int dotu) ...@@ -901,16 +901,21 @@ static struct p9_stat *p9_clone_stat(struct p9_stat *st, int dotu)
memmove(ret, st, sizeof(struct p9_stat)); memmove(ret, st, sizeof(struct p9_stat));
p = ((char *) ret) + sizeof(struct p9_stat); p = ((char *) ret) + sizeof(struct p9_stat);
memmove(p, st->name.str, st->name.len); memmove(p, st->name.str, st->name.len);
ret->name.str = p;
p += st->name.len; p += st->name.len;
memmove(p, st->uid.str, st->uid.len); memmove(p, st->uid.str, st->uid.len);
ret->uid.str = p;
p += st->uid.len; p += st->uid.len;
memmove(p, st->gid.str, st->gid.len); memmove(p, st->gid.str, st->gid.len);
ret->gid.str = p;
p += st->gid.len; p += st->gid.len;
memmove(p, st->muid.str, st->muid.len); memmove(p, st->muid.str, st->muid.len);
ret->muid.str = p;
p += st->muid.len; p += st->muid.len;
if (dotu) { if (dotu) {
memmove(p, st->extension.str, st->extension.len); memmove(p, st->extension.str, st->extension.len);
ret->extension.str = p;
p += st->extension.len; p += st->extension.len;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册