packagefs: Make sure the parent directory really exists in lookup().

If the package was uninstalled, then it may not.

Fixes #19327.
This commit is contained in:
Augustin Cavalier
2025-01-03 15:46:47 -05:00
parent 11be6ba960
commit 936414d23d
@@ -164,9 +164,13 @@ packagefs_lookup(fs_volume* fsVolume, fs_vnode* fsDir, const char* entryName,
// resolve ".." // resolve ".."
if (strcmp(entryName, "..") == 0) { if (strcmp(entryName, "..") == 0) {
Node* parent; BReference<Directory> parent = dir->GetParent();
*_vnid = dir->GetParentUnchecked()->ID(); if (parent == NULL)
return volume->GetVNode(*_vnid, parent); return B_ENTRY_NOT_FOUND;
Node* dummy;
*_vnid = parent->ID();
return volume->GetVNode(*_vnid, dummy);
} }
// resolve normal entries -- look up the node // resolve normal entries -- look up the node