8367766: [11u] src/jdk.crypto.ec/share/native/libsunec/impl/mpi.c:321:3: error: 'tmp.dp' may be used uninitialized#3095
Conversation
|
👋 Welcome back zzambers! A progress list of the required criteria for merging this PR into |
|
❗ This change is not yet ready to be integrated. |
Webrevs
|
|
@zzambers 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 |
|
@zzambers This pull request has been inactive for more than 8 weeks and will now be automatically closed. If you would like to continue working on this pull request in the future, feel free to reopen it! This can be done using the |
|
/open |
|
@zzambers This pull request is now open |
|
@zzambers 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 |
|
@zzambers The pull request is being re-evaluated and the inactivity timeout has been reset. |
|
@zzambers 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 |
|
@zzambers This pull request has been inactive for more than 8 weeks and will now be automatically closed. If you would like to continue working on this pull request in the future, feel free to reopen it! This can be done using the |
|
/open |
|
@zzambers This pull request is now open |
|
|
|
@zzambers 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 |
|
@zzambers Could you please merge latest master to get updated CI runs? Thank you! |
|
/template append |
|
@zzambers The pull request template has been appended to the pull request body |
|
/approval request trivial change to avoid compiler warning/error, low risk, tests OK |
This error/warning has been seen on newer gcc versions on openjdk 11:
Problem does not affect newer jdks, because affected code was removed by JDK-8235710.
Also whether warning/error is generated depends on other conditions like compiler version / arch / build kind etc. Seems like compiler needs to do enough inlining to detect this, as analysis needs to cross function boundary.
Details/Fix:
Underlining issue seems to be that
mp_initcalled ontmp(struct) may theoretically fail, unitializedtmpwould then still be passed to subsequent functions. Unfortunatelymp_cmp_intis not really designed to be able to handle errors.So I just zero initialize tmp, which makes error/warning go away. I think making more involved changes to API/implementation is probably not worth the effort, especially when code is for legacy curves, removed in newer jdks. It would also increase risk of regressions.
Progress
Issue
Reviewers
Reviewing
Using
gitCheckout this PR locally:
$ git fetch https://git.openjdk.org/jdk11u-dev.git pull/3095/head:pull/3095$ git checkout pull/3095Update a local copy of the PR:
$ git checkout pull/3095$ git pull https://git.openjdk.org/jdk11u-dev.git pull/3095/headUsing Skara CLI tools
Checkout this PR locally:
$ git pr checkout 3095View PR using the GUI difftool:
$ git pr show -t 3095Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk11u-dev/pull/3095.diff
Using Webrev
Link to Webrev Comment