Skip to content

Commit 52e21f5

Browse files
committed
zcore: heed HIDE_FROM_AL flag within function load_list_members
References: DESK-3373, g-web/321
1 parent 4c728eb commit 52e21f5

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

exch/zcore/container_object.cpp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -886,8 +886,14 @@ BOOL container_object::query_user_table(const PROPTAG_ARRAY *pproptags,
886886
for (size_t i = first_pos; i < first_pos+row_count &&
887887
i < pcontainer->contents.pminid_array->count; ++i) {
888888
ab_tree::ab_node node(pbase, pcontainer->contents.pminid_array->pl[i]);
889-
if (!node.exists() || node.hidden() & AB_HIDE_FROM_AL)
889+
if (!node.exists())
890890
continue;
891+
/*
892+
* No testing for HIDE* here, because
893+
* pminid_array is already prefiltered (when it
894+
* was made; ab_tree_match_minids is called by
895+
* load_user_table).
896+
*/
891897
pset->pparray[pset->count] = cu_alloc<TPROPVAL_ARRAY>();
892898
if (pset->pparray[pset->count] == nullptr)
893899
return FALSE;

exch/zcore/user_object.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ ec_error_t user_object::load_list_members(const RESTRICTION *res) try
216216
auto mid = ab_tree::minid(ab_tree::minid::address, user_id);
217217
node = {base, mid};
218218
LONG_ARRAY unused{};
219-
if (!node.exists() ||
219+
if (!node.exists() || node.hidden() & AB_HIDE_FROM_AL ||
220220
!ab_tree_match_minids(base.get(), mid, res, &unused))
221221
continue;
222222
free(unused.pl);

0 commit comments

Comments
 (0)