Ignore:
Timestamp:
Jul 19, 2004, 4:43:54 PM (21 years ago)
Author:
sullivan
Message:

Reviewed by Maciej.

  • bulletproofed array.slice() against NAN arguments. Harri noticed this vulnerability in my patch for 3714644
  • kjs/array_object.cpp: (ArrayProtoFuncImp::call): handle NAN parameters passed to slice() by clamping to 0 and length.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/kjs/array_object.cpp

    r7047 r7059  
    584584    if (args[0].type() != UndefinedType) {
    585585        begin = args[0].toInteger(exec);
     586        if (isnan(begin)) {
     587            begin = 0;
     588        }
    586589        if (begin < 0) {
    587590            begin += length;
     
    596599    if (args[1].type() != UndefinedType) {
    597600      end = args[1].toInteger(exec);
    598       if (end < 0) {
     601      if (isnan(end)) {
     602        end = length;
     603      } else if (end < 0) {
    599604        end += length;
    600605        if (end < 0)
Note: See TracChangeset for help on using the changeset viewer.