File tree Expand file tree Collapse file tree 2 files changed +46
-0
lines changed Expand file tree Collapse file tree 2 files changed +46
-0
lines changed Original file line number Diff line number Diff line change @@ -4036,6 +4036,11 @@ vm_loop (vm_frame_ctx_t *frame_ctx_p) /**< frame context */
4036
4036
4037
4037
result = ecma_op_object_has_property (object_p , prop_name_p );
4038
4038
4039
+ if (ECMA_IS_VALUE_ERROR (result ))
4040
+ {
4041
+ goto error ;
4042
+ }
4043
+
4039
4044
if (JERRY_LIKELY (ecma_is_value_true (result )))
4040
4045
{
4041
4046
byte_code_p = byte_code_start_p + branch_offset ;
Original file line number Diff line number Diff line change
1
+ // Copyright JS Foundation and other contributors, http://js.foundation
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ var a = [ 3.3 , 2.2 , 1 ] ;
16
+
17
+ try {
18
+ a . sort ( function ( ) {
19
+ var o = new Proxy ( {
20
+ get foo ( ) {
21
+ return eval ( "function" ) ;
22
+ } ,
23
+ set foo ( arg ) {
24
+ return s2 = s3
25
+ }
26
+ } , {
27
+ has : true ,
28
+ get : function ( ) {
29
+ a = true ;
30
+ return 30 ;
31
+ }
32
+ } ) ;
33
+ o . x = 43 ;
34
+ var result = "" ;
35
+ for ( var p in o )
36
+ result += o [ p ] ;
37
+ } ) ;
38
+ assert ( false ) ;
39
+ } catch ( e ) {
40
+ assert ( e instanceof TypeError ) ;
41
+ }
You can’t perform that action at this time.
0 commit comments