~ubuntu-branches/ubuntu/trusty/mozjs24/trusty-proposed

« back to all changes in this revision

Viewing changes to js/src/tests/js1_5/Object/regress-362872-01.js

  • Committer: Package Import Robot
  • Author(s): Tim Lunn
  • Date: 2014-02-11 21:55:34 UTC
  • Revision ID: package-import@ubuntu.com-20140211215534-m1zyq5aj59md3y07
Tags: upstream-24.2.0
ImportĀ upstreamĀ versionĀ 24.2.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 
2
/* This Source Code Form is subject to the terms of the Mozilla Public
 
3
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 
4
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
5
 
 
6
//-----------------------------------------------------------------------------
 
7
var BUGNUMBER = 362872;
 
8
var summary = 'script should not drop watchpoint that is in use';
 
9
var actual = 'No Crash';
 
10
var expect = 'No Crash';
 
11
 
 
12
 
 
13
//-----------------------------------------------------------------------------
 
14
test();
 
15
//-----------------------------------------------------------------------------
 
16
 
 
17
function test()
 
18
{
 
19
  enterFunc ('test');
 
20
  printBugNumber(BUGNUMBER);
 
21
  printStatus (summary);
 
22
 
 
23
  function exploit() {
 
24
    var rooter = {}, object = {}, filler1 = "", filler2 = "\u5555";
 
25
    for(var i = 0; i < 32/2-2; i++) { filler1 += "\u5050"; }
 
26
    object.watch("foo", function(){
 
27
                   object.unwatch("foo");
 
28
                   object.unwatch("foo");
 
29
                   for(var i = 0; i < 8 * 1024; i++) {
 
30
                     rooter[i] = filler1 + filler2;
 
31
                   }
 
32
                 });
 
33
    object.foo = "bar";
 
34
  }
 
35
  exploit();
 
36
 
 
37
 
 
38
  reportCompare(expect, actual, summary);
 
39
 
 
40
  exitFunc ('test');
 
41
}