Tighten UUID regexp used to check if a group is internal
The regular expression in AccountGroup.isInternalGroup() used to determine whether a group identified by a particular UUID is an internal Gerrit group was sloppy in that any UUID containing a 40 (or more) character hex digit sequence anywhere in the string was deemed an internal group. While very unlikely, the expression could falsely match UUIDs from other systems. Change-Id: Ie7cc56754bc11a6526fa1f35ea449e11b6c47a30
This commit is contained in:
@@ -82,7 +82,7 @@ public final class AccountGroup {
|
|||||||
/** @return true if the UUID is for a group managed within Gerrit. */
|
/** @return true if the UUID is for a group managed within Gerrit. */
|
||||||
public static boolean isInternalGroup(AccountGroup.UUID uuid) {
|
public static boolean isInternalGroup(AccountGroup.UUID uuid) {
|
||||||
return uuid.get().startsWith("global:")
|
return uuid.get().startsWith("global:")
|
||||||
|| uuid.get().matches("[0-9a-f]{40}");
|
|| uuid.get().matches("^[0-9a-f]{40}$");
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Synthetic key to link to within the database */
|
/** Synthetic key to link to within the database */
|
||||||
|
Reference in New Issue
Block a user