Bug Tracker

Modify

Ticket #5610 (closed bug: worksforme)

Opened 4 years ago

Last modified 3 years ago

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:
Blocking: Blocked by:

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

comment:1 Changed 4 years ago by john

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

comment:2 Changed 4 years ago by 314159abcde

  • Status changed from closed to reopened
  • Resolution fixed deleted

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 3 years ago by snover

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

It is working as designed.

comment:4 Changed 3 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 3 years ago by john

  • Milestone changed from 1.4.5 to 1.5

There was no 1.4.5 release, was actually 1.5.

Please follow the  bug reporting guidlines and use  jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.

View

Add a comment

Modify Ticket

Action
as closed
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.