From 223bdece87f20df9cc42a39033dc9f97c5132b27 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Tue, 4 May 2010 17:37:19 +0000 Subject: [PATCH] CreateAppMetaMimeThread::DoMimeUpdate(): * Don't traverse symlinks. Besides that this is not how the BeOS implementation behaves it could also lead to undesired recursion in case of symlinks to directories. * Only process regular files. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36613 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/servers/registrar/mime/CreateAppMetaMimeThread.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/servers/registrar/mime/CreateAppMetaMimeThread.cpp b/src/servers/registrar/mime/CreateAppMetaMimeThread.cpp index 8958422493..8dcd1b7a16 100644 --- a/src/servers/registrar/mime/CreateAppMetaMimeThread.cpp +++ b/src/servers/registrar/mime/CreateAppMetaMimeThread.cpp @@ -49,7 +49,7 @@ CreateAppMetaMimeThread::DoMimeUpdate(const entry_ref* ref, bool* _entryIsDir) BNode typeNode; BFile file; - status_t status = file.SetTo(ref, B_READ_ONLY); + status_t status = file.SetTo(ref, B_READ_ONLY | O_NOTRAVERSE); if (status < B_OK) return status; @@ -57,7 +57,7 @@ CreateAppMetaMimeThread::DoMimeUpdate(const entry_ref* ref, bool* _entryIsDir) if (_entryIsDir != NULL) *_entryIsDir = isDir; - if (isDir) + if (isDir || !file.IsFile()) return B_OK; BAppFileInfo appInfo(&file);