Uploaded image for project: 'Commons Lang'
  1. Commons Lang
  2. LANG-42

[lang] EqualsBuilder.append(Object[], Object[]) crashes with a NullPointerException if an element of the first array is null

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 2.0
    • 2.2
    • None
    • None
    • Operating System: Mac OS X 10.3
      Platform: Macintosh

    • 33067

    Description

      If you use EqualsBuilder.append(Object[], Object[]), and the first array contains an element that is null
      (and before any other mismatches between the arrays are present), then EqualsBuilder will throw a
      NullPointerException at line 513.

      Steps to reproduce:

      Object[] x1 = new Object[]

      { new Integer(1), null, new Integer(3) }

      ;
      Object[] x2 = new Object[]

      { new Integer(1), new Integer(2), new Integer(3) }

      ;

      new EqualsBuilder().append(x1, x2);

      The third line of this program will crash.

      Attached is a patch that fixes this bug and adds code to an existing unit-test case that proves it's fixed
      (i.e., the test fails without the source patch, and passes with it, and is a valid test).

      This patch also fixes another bug related to exact types of objects in an array (which I'm about to enter,
      and which I will relate to this bug if I figure out how .

      Attachments

        Activity

          markt Mark Thomas made changes -
          Workflow jira [ 12370899 ] Default workflow, editable Closed status [ 12602395 ]
          bayard Henri Yandell made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          bayard Henri Yandell made changes -
          Fix Version/s 2.2 [ 12311702 ]
          bayard Henri Yandell made changes -
          Affects Version/s 2.0 Final [ 12311706 ]
          bayard Henri Yandell made changes -
          Component/s Lang [ 12311121 ]
          Fix Version/s 2.2 [ 12311686 ]
          Key COM-1842 LANG-42
          Project Commons [ 12310458 ] Commons Lang [ 12310481 ]
          Affects Version/s 2.0 Final [ 12311658 ]
          Assignee Jakarta Commons Developers Mailing List [ commons-dev@jakarta.apache.org ]
          bayard Henri Yandell made changes -
          Field Original Value New Value
          issue.field.bugzillaimportkey 33067 12341994
          andrew@terracottatech.com Andrew Geweke created issue -

          People

            Unassigned Unassigned
            andrew@terracottatech.com Andrew Geweke
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: