From 16bfbb78ca80bbebf9883f0963f4a2c58d677538 Mon Sep 17 00:00:00 2001
From: Roeland Jago Douma <roeland@famdouma.nl>
Date: Thu, 19 Jul 2018 11:39:28 +0200
Subject: [PATCH] Don't fail contacts menu on unkown user

If for some reason the system addressbook holds a user that is no longer
accessible from the usermanager (so it got somehow out of sync) we
should not fail hard but rather just ignore the entry.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
---
 lib/private/Contacts/ContactsMenu/ContactsStore.php | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/lib/private/Contacts/ContactsMenu/ContactsStore.php b/lib/private/Contacts/ContactsMenu/ContactsStore.php
index bfce7deafa450..05ef9cca53a9c 100644
--- a/lib/private/Contacts/ContactsMenu/ContactsStore.php
+++ b/lib/private/Contacts/ContactsMenu/ContactsStore.php
@@ -155,7 +155,13 @@ private function filterContacts(IUser $self,
 			}
 
 			if ($ownGroupsOnly && $entry->getProperty('isLocalSystemBook') === true) {
-				$contactGroups = $this->groupManager->getUserGroupIds($this->userManager->get($entry->getProperty('UID')));
+				$uid = $this->userManager->get($entry->getProperty('UID'));
+
+				if ($uid === NULL) {
+					return false;
+				}
+
+				$contactGroups = $this->groupManager->getUserGroupIds($uid);
 				if (count(array_intersect($contactGroups, $selfGroups)) === 0) {
 					// no groups in common, so shouldn't see the contact
 					return false;