Bug Tracker

Opened 7 years ago

Closed 6 years ago

Last modified 6 years ago

#5610 closed bug (worksforme)

makeArray can cause browser crash on non array objects with length property

Reported by: jwheare Owned by:
Priority: high Milestone: 1.5
Component: core Version: 1.5
Keywords: Cc:
Blocked by: Blocking:

Description

I haven't tested this with 1.4

For an object with a length property that casts to a non-zero positive integer, makeArray will create an array with that length filled with undefined.

>>> jQuery.makeArray({'length': '5'})
[undefined, undefined, undefined, undefined, undefined]

If the length property is zero, negative or a decimal then Firefox and Safari both hang. (FF shows the unresponsive script error, Safari hangs until it crashes)

>>> jQuery.makeArray({'length': '0'})
>>> jQuery.makeArray({'length': '5.2'})
>>> jQuery.makeArray({'length': '-3'})

Change History (5)

comment:1 Changed 7 years ago by john

  • Resolution set to fixed
  • Status changed from new to closed
  • Version changed from 1.3.2 to 1.4a1

comment:2 Changed 7 years ago by 314159abcde

  • Resolution fixed deleted
  • Status changed from closed to reopened

This has not been corrected.

Try:

jQuery.makeArray( {'length':5} );

in the firebug console on any jQuery site and it will output [undefined, undefined, undefined, undefined, undefined]

when it should return [Object { length=5}]

This is causing issues where I have an object with a length and width attribute, since it will not pass through makeArray properly.

comment:3 Changed 6 years ago by snover

  • Milestone changed from 1.4 to 1.4.5
  • Priority changed from major to high
  • Resolution set to worksforme
  • Status changed from reopened to closed
  • Version changed from 1.4a1 to 1.4.4

It is working as designed.

comment:4 Changed 6 years ago by john

  • Version changed from 1.4.4 to 1.5

There wasn't a 1.4.5 release, was actually 1.5.

comment:5 Changed 6 years ago by john

  • Milestone changed from 1.4.5 to 1.5

There was no 1.4.5 release, was actually 1.5.

Note: See TracTickets for help on using tickets.