-
Notifications
You must be signed in to change notification settings - Fork 6.1k
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
base: pr/26201
Are you sure you want to change the base?
Conversation
👋 Welcome back liach! A progress list of the required criteria for merging this PR into |
❗ This change is not yet ready to be integrated. |
Webrevs
|
@@ -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
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
Integration blocker
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