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);