You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Sebb (JIRA)" <ji...@apache.org> on 2014/09/06 14:18:29 UTC

[jira] [Comment Edited] (LANG-965) FieldUtils methods leak accessible flags

    [ https://issues.apache.org/jira/browse/LANG-965?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14124445#comment-14124445 ] 

Sebb edited comment on LANG-965 at 9/6/14 12:17 PM:
----------------------------------------------------

Possible simplification:

{code}
+        final boolean originalAccessibility = field.isAccessible();
         if (forceAccess && !field.isAccessible()) {
{code}

could be written as

{code}
+        final boolean originalAccessibility = field.isAccessible();
         if (forceAccess && !originalAccessibility) {
{code}

Alternatively, just set a flag when accessibility is forced:

{code}
boolean wasInaccessible = false;
if (forceAccess && !field.isAccessible()) {
    wasInaccessible = true;
   ...
}

...
     finally {
         if (wasInaccessible) {
            field.setAccessible(false);
        }
     }
{code}

This avoids a redundant setAccessible() call where the accessibility was not changed



was (Author: sebb@apache.org):
Possible simplification:

{code}
+        final boolean originalAccessibility = field.isAccessible();
         if (forceAccess && !field.isAccessible()) {
{code}

> FieldUtils methods leak accessible flags
> ----------------------------------------
>
>                 Key: LANG-965
>                 URL: https://issues.apache.org/jira/browse/LANG-965
>             Project: Commons Lang
>          Issue Type: Bug
>          Components: lang.reflect.*
>    Affects Versions: 3.1, 3.2.1
>         Environment: Apache Maven 3.1.1 (0728685237757ffbf44136acec0402957f723d9a; 2013-09-17 11:22:22-0400)
> Maven home: C:\Java\apache-maven-3.1.1\bin\..
> Java version: 1.7.0_51, vendor: Oracle Corporation
> Java home: C:\Program Files\Java\jdk1.7.0_51\jre
> Default locale: en_US, platform encoding: Cp1252
> OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"
>            Reporter: Gary Gregory
>            Assignee: Benedikt Ritter
>             Fix For: Review Patch
>
>         Attachments: commons-lang-965.patch, commons-lang-965.patch
>
>
> When various FieldUtils methods are called the accessible is set to true but never reset to false. This is side-effect should be cleaned up.
> This makes a mess of the object model which represents the class meta data.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)