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
CODEC-312: Fix possible StringIndexOutOfBoundException thrown by MatchRatingApproachEncoder.encode() method #220
CODEC-312: Fix possible StringIndexOutOfBoundException thrown by MatchRatingApproachEncoder.encode() method #220
Conversation
Hello @arthurscchan |
b2d07dd
to
700dfb2
Compare
Hi, I have added the unit test. |
@arthurscchan |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@arthurscchan
See my comments, and also, comments in other PRs that apply here.
src/main/java/org/apache/commons/codec/language/MatchRatingApproachEncoder.java
Outdated
Show resolved
Hide resolved
src/main/java/org/apache/commons/codec/language/MatchRatingApproachEncoder.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hello @arthurscchan
Please see my comments here and in other PRs that apply here.
src/main/java/org/apache/commons/codec/language/MatchRatingApproachEncoder.java
Outdated
Show resolved
Hide resolved
src/main/java/org/apache/commons/codec/language/MatchRatingApproachEncoder.java
Outdated
Show resolved
Hide resolved
src/test/java/org/apache/commons/codec/language/MatchRatingApproachEncoderTest.java
Outdated
Show resolved
Hide resolved
700dfb2
to
2124da2
Compare
Signed-off-by: Arthur Chan <arthur.chan@adalogics.com>
2124da2
to
2e0bfe5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hello @arthurscchan
Please see my comments.
src/test/java/org/apache/commons/codec/language/MatchRatingApproachEncoderTest.java
Outdated
Show resolved
Hide resolved
src/test/java/org/apache/commons/codec/language/MatchRatingApproachEncoderTest.java
Outdated
Show resolved
Hide resolved
src/test/java/org/apache/commons/codec/language/MatchRatingApproachEncoderTest.java
Outdated
Show resolved
Hide resolved
Signed-off-by: Arthur Chan <arthur.chan@adalogics.com>
2e0bfe5
to
ce43dda
Compare
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## master #220 +/- ##
============================================
- Coverage 92.27% 92.22% -0.06%
- Complexity 1742 1745 +3
============================================
Files 67 67
Lines 4584 4591 +7
Branches 709 713 +4
============================================
+ Hits 4230 4234 +4
- Misses 242 243 +1
- Partials 112 114 +2 ☔ View full report in Codecov by Sentry. |
…hRatingApproachEncoder.encode() method #220
This fixes a possible StringIndexOutOfBoundException in src/main/java/org/apache/commons/codec/language/MatchRatingApproachEncoder.java thrown by MatchRatingApproachEncoder.encode() method when the input string only contains punctuations or vowels.
This PR adds some conditional checking to ensure the string is not empty after each method call. If it is empty after any method call, it will simply return EMPTY and avoid continuing processing onto the next processing method.
We found this bug using fuzzing by way of OSS-Fuzz. It is reported at https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=64359.