Skip to content
This repository was archived by the owner on Jan 23, 2025. It is now read-only.

Commit 1e9fae7

Browse files
authored
Merge pull request #398 from deedee/fix_GetGroupMember
avoid infinite loop for duplicate input gid
2 parents f96f2a6 + 4d754ef commit 1e9fae7

File tree

1 file changed

+2
-6
lines changed

1 file changed

+2
-6
lines changed

src/java/main/com/topcoder/direct/services/view/action/contest/launch/GetGroupMemberAction.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,7 @@ private Set<Long> getGroupMembers() throws Exception{
146146
boolean finished = false;
147147
while (!finished) {
148148
ListIterator<Long> iter = gids.listIterator();
149+
finished = true;
149150
while (iter.hasNext()) {
150151
Long gid = iter.next();
151152
if (!gidProcessed.contains(gid)) {
@@ -156,23 +157,18 @@ private Set<Long> getGroupMembers() throws Exception{
156157
if (gm.isGroup()) {
157158
if (!gids.contains(gm.getMemberId())) {
158159
iter.add(gm.getMemberId());
160+
finished = false;
159161
}
160162
logger.info(" inner group: " + gm.getMemberId());
161163
} else {
162164
members.add(gm.getMemberId());
163165
}
164166
}
165167
}
166-
167168
gidProcessed.add(gid);
168169
}
169170
}
170-
171-
if (gids.size() == gidProcessed.size()) {
172-
finished = true;
173-
}
174171
}
175-
176172
return members;
177173
}
178174

0 commit comments

Comments
 (0)