#include <errno.h>
#include <stdlib.h>
+/* On-disk format of a symbolic link (WIM_IO_REPARSE_TAG_SYMLINK) or junction
+ * point (WIM_IO_REPARSE_TAG_MOUNT_POINT) reparse data buffer. */
struct reparse_buffer_disk {
le32 rptag;
le16 rpdatalen;
if (rpdata->rptag == WIM_IO_REPARSE_TAG_SYMLINK) {
if (rpbuflen < 20)
goto out_invalid;
- rpdata->rpflags = le16_to_cpu(rpbuf_disk->symlink.rpflags);
+ rpdata->rpflags = le32_to_cpu(rpbuf_disk->symlink.rpflags);
data = rpbuf_disk->symlink.data;
} else {
data = rpbuf_disk->junction.data;