On Thu, 16 Nov 2023 04:40:53 GMT, Julian Waters <jwat...@openjdk.org> wrote:

>> I regret not actually addressing the issues with the goto labels in 
>> https://github.com/openjdk/jdk/pull/15996, where initialization of locals in 
>> sspi were jumped over by gotos to a certain label. I changed the 
>> initializations into split declarations and assignments in 
>> https://github.com/openjdk/jdk/pull/15996, but this is simply a hack and 
>> does not address the real issue of gotos jumping over locals. I've as such 
>> fixed the issues with them properly this time, by simply deleting the labels 
>> and duplicating the code where they're used. As mentioned, this 
>> unfortunately does increase duplicate code, but is the cleanest solution I 
>> could come up with for the labels
>
> Julian Waters has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   NULL to nullptr in sspi.cpp

> > > > Can you please describe the problem you are trying to solve, and why 
> > > > you think it is worth solving. You describe the thought process you 
> > > > went through while doing the patch and possibly some other, older 
> > > > patch. As it is, reading the PR text or the issue description is 
> > > > confusing and requires reviewers to dig through comment threads on 
> > > > older issues to parse it.
> > > 
> > > 
> > > I've changed to description for both to (hopefully) be more descriptive 
> > > and clear. Sorry for the hassle, I'm not particularly good with words
> > 
> > 
> > Somewhat better, but not by much, sorry :-)
> > This patch is work to review, since it touches security-relevant stuff and 
> > because mentally verifying that all the code paths you change are 
> > equivalent to what happened before is real work. It is probably more work 
> > than doing the patch.
> > Hence my question, what is the motivation, is there a bug that needs 
> > fixing? Or is it just that you dislike these gotos? Is it just to get 
> > Windows to build with GCC? Sorry, I did not follow your work, so I don't 
> > have a context.
> 
> This is a cleanup patch that follows the older one that enabled security to 
> compile with permissive-, the problem with that one is that simply changing 
> the locals to a split declaration and assignment is a bit of an ugly hack, 
> since the locals then have undefined values when allocated. gcc already 
> compiles fine with the old patch, this new one is not needed for either 
> compiler (MSVC or gcc) to compile without errors. I felt like I had the 
> responsibility to clean up what is essentially a hack just to get it to 
> compile with permissive- on MSVC. This is also partially inspired by Phil's 
> rejection of the old patch in #15096 :/
> 
> I don't have anything against gotos, nor do I dislike them :)

Thank you for your explanation! I'll relegate to Phil for the actual review 
then; I was just curious about the patch since it touched security-related code.

Cheers, Thomas

-------------

PR Comment: https://git.openjdk.org/jdk/pull/16682#issuecomment-1816661606

Reply via email to