winefile: Fix NULL pointer deref in read_tree.
diff --git a/programs/winefile/winefile.c b/programs/winefile/winefile.c
index b3e5471..2caff8e 100644
--- a/programs/winefile/winefile.c
+++ b/programs/winefile/winefile.c
@@ -3781,8 +3781,15 @@
scan_entry(child, &child->root.entry, 0, child->hwnd);
#ifdef _SHELL_FOLDERS
+
if (child->root.entry.etype == ET_SHELL)
- entry = read_tree(&child->root, NULL, get_path_pidl(path,child->hwnd), drv, child->sortOrder, child->hwnd);
+ {
+ LPITEMIDLIST local_pidl = get_path_pidl(path,child->hwnd);
+ if (local_pidl)
+ entry = read_tree(&child->root, NULL, local_pidl , drv, child->sortOrder, child->hwnd);
+ else
+ entry = NULL;
+ }
else
#endif
entry = read_tree(&child->root, path, NULL, drv, child->sortOrder, child->hwnd);