#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 13 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
Version: | 1.3.2 → 1.4a1 |
comment:2 Changed 13 years ago by
Resolution: | fixed |
---|---|
Status: | closed → 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 12 years ago by
Milestone: | 1.4 → 1.4.5 |
---|---|
Priority: | major → high |
Resolution: | → worksforme |
Status: | reopened → closed |
Version: | 1.4a1 → 1.4.4 |
It is working as designed.
comment:4 Changed 12 years ago by
Version: | 1.4.4 → 1.5 |
---|
There wasn't a 1.4.5 release, was actually 1.5.
comment:5 Changed 12 years ago by
Milestone: | 1.4.5 → 1.5 |
---|
There was no 1.4.5 release, was actually 1.5.
Fixed. http://github.com/jquery/jquery/commit/715d1c5a30cc4986018bbf063713f14c34c3e258