On Fri, 8 Nov 2024 14:31:46 GMT, Laurent Bourgès <[email protected]> wrote:

> Use ExceptionCheck instead

src/jdk.accessibility/windows/native/libjavaaccessbridge/AccessBridgeJavaEntryPoints.cpp
 line 78:

> 76: 
> 77: #define EXCEPTION_CHECK(situationDescription, returnVal)                  
>                       \
> 78:     if (exception = jniEnv->ExceptionOccurred()) {                        
>                       \

So what about this variable exception that is being assigned ? 
The bug is supposed to be about when the return value of ExceptionOccurred() 
isn't used.
Now you aren't assigning it either (1) some code will be broken, unless (2) it 
isn't actually used
If (2) then you would want to delete the declaration of exception.
But if it is used *even once* then you need to keep all of them and revert this 
change.

I did a grep on the file and I think it is unused, so you'll need to remove 
them all 
%  grep exception 
windows/native/libjavaaccessbridge/AccessBridgeJavaEntryPoints.cpp
...
  if (exception = jniEnv->ExceptionOccurred()) {                                
              \
    if (exception = jniEnv->ExceptionOccurred()) {                              
                \
    if (exception = jniEnv->ExceptionOccurred()) {                              
                \
    if (exception = jniEnv->ExceptionOccurred()) {                              
                \
    jthrowable exception;
    jthrowable exception;
    jthrowable exception;
    jthrowable exception;
    jthrowable exception;
    jthrowable exception;
    jthrowable exception;
    jthrowable exception;
    jthrowable exception;
    jthrowable exception;
    jthrowable exception = NULL;
    jthrowable exception;
    jthrowable exception;
    jthrowable exception;
    jthrowable exception;
... and a whole lot more.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/21979#discussion_r1841035138

Reply via email to