+ if (rpdata->rptag == WIM_IO_REPARSE_TAG_SYMLINK)
+ data = rpbuf_disk->symlink.data;
+ else
+ data = rpbuf_disk->junction.data;
+
+ if ((data - rpbuf) + rpdata->substitute_name_nbytes +
+ rpdata->print_name_nbytes +
+ 2 * sizeof(utf16lechar) > REPARSE_POINT_MAX_SIZE)
+ {
+ ERROR("Reparse data is too long!");
+ return WIMLIB_ERR_INVALID_REPARSE_DATA;
+ }
+