mirror of
https://git.rtems.org/rtems-libbsd/
synced 2025-10-16 07:28:13 +08:00
freebsd/nfsv4: Fix misaligned 64bit user dirent write
This commit is contained in:
@@ -3205,10 +3205,23 @@ nfsrpc_readdir(vnode_t vp, struct uio *uiop, nfsuint64 *cookiep,
|
||||
} else {
|
||||
dp->d_fileno = nfsva.na_fileid;
|
||||
}
|
||||
#ifndef __rtems__
|
||||
*tl2++ = cookiep->nfsuquad[0] = cookie.lval[0] =
|
||||
ncookie.lval[0];
|
||||
#else /* __rtems__ */
|
||||
memcpy(tl2, &ncookie.lval[0], sizeof(*tl2));
|
||||
tl2++;
|
||||
cookiep->nfsuquad[0] = cookie.lval[0] =
|
||||
ncookie.lval[0];
|
||||
#endif /* __rtems__ */
|
||||
#ifndef __rtems__
|
||||
*tl2 = cookiep->nfsuquad[1] = cookie.lval[1] =
|
||||
ncookie.lval[1];
|
||||
#else /* __rtems__ */
|
||||
memcpy(tl2, &ncookie.lval[1], sizeof(*tl2));
|
||||
cookiep->nfsuquad[1] = cookie.lval[1] =
|
||||
ncookie.lval[1];
|
||||
#endif /* __rtems__ */
|
||||
}
|
||||
more_dirs = fxdr_unsigned(int, *tl);
|
||||
}
|
||||
|
Reference in New Issue
Block a user