]> wimlib.net Git - wimlib/commitdiff
win32_capture.c: Ignore unnamed data stream of reparse point
authorEric Biggers <ebiggers3@gmail.com>
Sat, 2 Aug 2014 00:52:40 +0000 (19:52 -0500)
committerEric Biggers <ebiggers3@gmail.com>
Sat, 2 Aug 2014 00:52:42 +0000 (19:52 -0500)
This data will not be archived; only the reparse data will.  So there's
no need to create a 'struct wim_lookup_table_entry' for it.

If a reparse point had an unnamed data stream, the assertion introduced
in commit 321750354891a0968ca0c3664417eae73b9414aa would be triggered.
This is just as well, because this case wasn't being handled in the most
logical way.

src/win32_capture.c

index 4c901acb8fab1a7a931ed0a474f7f039f2ef94d7..ad40d45287af5828cf6528e6f3cf77e2e39b8139 100644 (file)
@@ -888,6 +888,9 @@ winnt_scan_stream(const wchar_t *path, size_t path_nchars,
                                                        sizeof(wchar_t));
                if (!ads_entry)
                        return WIMLIB_ERR_NOMEM;
+       } else if (inode->i_attributes & FILE_ATTRIBUTE_REPARSE_POINT) {
+               /* Ignore unnamed data stream of reparse point  */
+               return 0;
        } else {
                ads_entry = NULL;
        }