-
Notifications
You must be signed in to change notification settings - Fork 6.2k
8361635: Missing List length validation in the Class-File API #26252
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
Conversation
👋 Welcome back liach! A progress list of the required criteria for merging this PR into |
@liach This change now passes all automated pre-integration checks. ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details. After integration, the commit message for the final commit will be:
You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed. At the time when this comment was updated there had been 59 new commits pushed to the
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details. ➡️ To integrate this PR with the above commit message to the |
@@ -171,7 +171,8 @@ default boolean has(AccessFlag flag) { | |||
* @param uses the consumed services | |||
* @param provides the provided services | |||
* @throws IllegalArgumentException if {@code moduleFlags} is not in the | |||
* range {@code [0, 65535]} | |||
* range {@code [0, 65535]}, or any of the collections have more than |
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.
I'm sorry, I take it back. It is OK.
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.
Great job for mitigating accidental building of invalid class files!
|
@liach This pull request has been inactive for more than 4 weeks and will be automatically closed if another 4 weeks passes without any activity. To avoid this, simply issue a |
/touch |
@liach The pull request is being re-evaluated and the inactivity timeout has been reset. |
The parent pull request that this pull request depends on has now been integrated and the target branch of this pull request has been updated. This means that changes from the dependent pull request can start to show up as belonging to this pull request, which may be confusing for reviewers. To remedy this situation, simply merge the latest changes from the new target branch into this pull request by running commands similar to these in the local repository for your personal fork: git checkout fix/cf-list-sizes
git fetch https://git.openjdk.org/jdk.git master
git merge FETCH_HEAD
# if there are conflicts, follow the instructions given by git merge
git commit -m "Merge master"
git push |
@liach this pull request can not be integrated into git checkout fix/cf-list-sizes
git fetch https://git.openjdk.org/jdk.git master
git merge FETCH_HEAD
# resolve conflicts and follow the instructions given by git merge
git commit -m "Merge master"
git push |
I have updated this patch to be against mainline. The bot has a bit of latency that it still has a bunch of warnings, but there is no merge conflicts. |
Thanks for the reviews! /integrate |
Going to push as commit 431f467.
Your commit was automatically rebased without conflicts. |
The
class
file format often only stores lists up to 65535 in size because size is encoded as a u2. Currently, we truncate the list size and write all contents, creating malformedclass
files. Almost all scenarios where such oversized lists are created can be considered an error; we should eagerly reject lists that would never be encodable in theclass
file format when users construct model objects.Progress
Issues
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/26252/head:pull/26252
$ git checkout pull/26252
Update a local copy of the PR:
$ git checkout pull/26252
$ git pull https://git.openjdk.org/jdk.git pull/26252/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 26252
View PR using the GUI difftool:
$ git pr show -t 26252
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/26252.diff
Using Webrev
Link to Webrev Comment