]> wimlib.net Git - wimlib/blobdiff - src/win32_capture.c
Report directory tree scan errors
[wimlib] / src / win32_capture.c
index 26f54c2213d2eae399b68352102df2e02fc461d7..449e73e07714dd5a6d2724a8a289d40eac0fff1b 100644 (file)
@@ -960,6 +960,7 @@ winnt_scan_stream(const wchar_t *path, size_t path_nchars,
                stream_id = 0;
                inode->i_lte = lte;
        }
+       lte->file_inode = inode;
        add_unhashed_stream(lte, inode, stream_id, unhashed_streams);
        return 0;
 }
@@ -1382,10 +1383,12 @@ out_progress:
 out:
        if (likely(h != INVALID_HANDLE_VALUE))
                (*func_NtClose)(h);
-       if (likely(ret == 0))
-               *root_ret = root;
-       else
+       if (unlikely(ret)) {
                free_dentry_tree(root, params->lookup_table);
+               root = NULL;
+               ret = report_capture_error(params, ret, full_path);
+       }
+       *root_ret = root;
        return ret;
 }