Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Set Locale.ROOT when use String.toLowerCase #9162

Merged
merged 1 commit into from
Apr 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions core/src/main/java/hudson/PluginManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -1443,13 +1443,13 @@
if (query == null || query.isBlank()) {
return true;
}
return (plugin.name != null && plugin.name.toLowerCase().contains(query.toLowerCase())) ||
(plugin.title != null && plugin.title.toLowerCase().contains(query.toLowerCase())) ||
(plugin.excerpt != null && plugin.excerpt.toLowerCase().contains(query.toLowerCase())) ||
return (plugin.name != null && plugin.name.toLowerCase(Locale.ROOT).contains(query.toLowerCase(Locale.ROOT))) ||

Check warning on line 1446 in core/src/main/java/hudson/PluginManager.java

View check run for this annotation

ci.jenkins.io / Code Coverage

Partially covered line

Line 1446 is only partially covered, 2 branches are missing
(plugin.title != null && plugin.title.toLowerCase(Locale.ROOT).contains(query.toLowerCase(Locale.ROOT))) ||

Check warning on line 1447 in core/src/main/java/hudson/PluginManager.java

View check run for this annotation

ci.jenkins.io / Code Coverage

Partially covered line

Line 1447 is only partially covered, 2 branches are missing
(plugin.excerpt != null && plugin.excerpt.toLowerCase(Locale.ROOT).contains(query.toLowerCase(Locale.ROOT))) ||

Check warning on line 1448 in core/src/main/java/hudson/PluginManager.java

View check run for this annotation

ci.jenkins.io / Code Coverage

Partially covered line

Line 1448 is only partially covered, one branch is missing
plugin.hasCategory(query) ||
plugin.getCategoriesStream()
.map(UpdateCenter::getCategoryDisplayName)
.anyMatch(category -> category != null && category.toLowerCase().contains(query.toLowerCase())) ||
.anyMatch(category -> category != null && category.toLowerCase(Locale.ROOT).contains(query.toLowerCase(Locale.ROOT))) ||

Check warning on line 1452 in core/src/main/java/hudson/PluginManager.java

View check run for this annotation

ci.jenkins.io / Code Coverage

Partially covered line

Line 1452 is only partially covered, 3 branches are missing
plugin.hasWarnings() && query.equalsIgnoreCase("warning:");
})
.limit(Math.max(limit - plugins.size(), 1))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Locale;
import javax.servlet.ServletException;
import jenkins.model.Jenkins;
import org.kohsuke.stapler.HttpResponse;
Expand Down Expand Up @@ -172,6 +173,6 @@
}

private static boolean startsWithImpl(String str, String prefix, boolean ignoreCase) {
return ignoreCase ? str.toLowerCase().startsWith(prefix.toLowerCase()) : str.startsWith(prefix);
return ignoreCase ? str.toLowerCase(Locale.ROOT).startsWith(prefix.toLowerCase(Locale.ROOT)) : str.startsWith(prefix);

Check warning on line 176 in core/src/main/java/hudson/model/AutoCompletionCandidates.java

View check run for this annotation

ci.jenkins.io / Code Coverage

Partially covered line

Line 176 is only partially covered, one branch is missing
}
}
3 changes: 2 additions & 1 deletion core/src/main/java/hudson/search/FixedSet.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.Locale;

/**
* Set of {@link SearchItem}s that are statically known upfront.
Expand Down Expand Up @@ -61,7 +62,7 @@
boolean caseInsensitive = UserSearchProperty.isCaseInsensitive();
for (SearchItem i : items) {
String name = i.getSearchName();
if (name != null && (name.contains(token) || (caseInsensitive && name.toLowerCase().contains(token.toLowerCase())))) {
if (name != null && (name.contains(token) || (caseInsensitive && name.toLowerCase(Locale.ROOT).contains(token.toLowerCase(Locale.ROOT))))) {

Check warning on line 65 in core/src/main/java/hudson/search/FixedSet.java

View check run for this annotation

ci.jenkins.io / Code Coverage

Partially covered line

Line 65 is only partially covered, 3 branches are missing
result.add(i);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import hudson.util.Scrambler;
import java.io.IOException;
import java.util.List;
import java.util.Locale;
import java.util.logging.Logger;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
Expand Down Expand Up @@ -64,7 +65,7 @@
HttpServletResponse rsp = (HttpServletResponse) response;
String authorization = req.getHeader("Authorization");

if (authorization != null && authorization.toLowerCase().startsWith("Basic ".toLowerCase())) {
if (authorization != null && authorization.toLowerCase(Locale.ROOT).startsWith("Basic ".toLowerCase(Locale.ROOT))) {

Check warning on line 68 in core/src/main/java/jenkins/security/BasicHeaderProcessor.java

View check run for this annotation

ci.jenkins.io / Code Coverage

Partially covered line

Line 68 is only partially covered, one branch is missing
// authenticate the user
String uidpassword = Scrambler.descramble(authorization.substring(6));
int idx = uidpassword.indexOf(':');
Expand Down
Loading