[haiku-commits] haiku: hrev53918 - src/servers/registrar

  • From: Adrien Destugues <pulkomandy@xxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Tue, 25 Feb 2020 07:23:27 -0500 (EST)

hrev53918 adds 1 changeset to branch 'master'
old head: 3548a2eb718fb9d32057960aa0fd50cd2988b0f3
new head: 0e7d1f13e00599c00b094f94b93587ab00888900
overview: 
https://git.haiku-os.org/haiku/log/?qt=range&q=0e7d1f13e005+%5E3548a2eb718f

----------------------------------------------------------------------------

0e7d1f13e005: AppInfoList: make sure to dereference symlink before comparing
  
  May fix #15633 (untested)
  
  Change-Id: Id0c8f0617553d988e767bae46fe0ac8fd3e698e9
  Reviewed-on: https://review.haiku-os.org/c/haiku/+/2118
  Reviewed-by: Adrien Destugues <pulkomandy@xxxxxxxxx>

                             [ Adrien Destugues <pulkomandy@xxxxxxxxxxxxx> ]

----------------------------------------------------------------------------

Revision:    hrev53918
Commit:      0e7d1f13e00599c00b094f94b93587ab00888900
URL:         https://git.haiku-os.org/haiku/commit/?id=0e7d1f13e005
Author:      Adrien Destugues <pulkomandy@xxxxxxxxxxxxx>
Date:        Thu Jan 16 20:39:20 2020 UTC
Committer:   Adrien Destugues <pulkomandy@xxxxxxxxx>
Commit-Date: Tue Feb 25 12:23:23 2020 UTC

Ticket:      https://dev.haiku-os.org/ticket/15633

----------------------------------------------------------------------------

1 file changed, 7 insertions(+), 1 deletion(-)
src/servers/registrar/AppInfoList.cpp | 8 +++++++-

----------------------------------------------------------------------------

diff --git a/src/servers/registrar/AppInfoList.cpp 
b/src/servers/registrar/AppInfoList.cpp
index ae07b285de..f753ff06d0 100644
--- a/src/servers/registrar/AppInfoList.cpp
+++ b/src/servers/registrar/AppInfoList.cpp
@@ -291,8 +291,14 @@ int32
 AppInfoList::IndexOf(const entry_ref *ref) const
 {
        if (ref) {
+               // Dereference symlink if needed
+               BEntry entry(ref, true);
+               entry_ref realRef;
+               if (entry.GetRef(&realRef) != B_OK)
+                       realRef = *ref;
+
                for (int32 i = 0; RosterAppInfo *info = InfoAt(i); i++) {
-                       if (info->ref == *ref)
+                       if (info->ref == realRef)
                                return i;
                }
        }


Other related posts:

  • » [haiku-commits] haiku: hrev53918 - src/servers/registrar - Adrien Destugues