| OLD | NEW |
| (Empty) |
| 1 @hex: | |
| 2 # Disallowed because %r15 is the base (should be (%rbp, %r15)) | |
| 3 # mov %esp, %ebp | |
| 4 89 e5 | |
| 5 # lea (%r15, %rbp), %rbp | |
| 6 49 8d 2c 2f | |
| 7 | |
| 8 # Allowed | |
| 9 # mov %esp, %ebp | |
| 10 89 e5 | |
| 11 # lea 0x00(%rbp, %r15), %rbp | |
| 12 4a 8d 6c 3d 00 | |
| 13 | |
| 14 # Allowed | |
| 15 # mov %esp, %ebp | |
| 16 89 e5 | |
| 17 # lea 0x00000000(%rbp, %r15), %rbp | |
| 18 4a 8d ac 3d 00 00 00 00 | |
| 19 @rval: | |
| 20 VALIDATOR: 0000000000000002: 49 8d 2c 2f lea
%rbp, [%r15+%rbp*1] | |
| 21 VALIDATOR: ERROR: Illegal change to register RBP | |
| 22 VALIDATOR: 0000000000000000: 89 e5 mov
%ebp, %esp | |
| 23 VALIDATOR: ERROR: Illegal assignment to EBP | |
| 24 VALIDATOR: Checking jump targets: 0 to 17 | |
| 25 VALIDATOR: Checking that basic blocks are aligned | |
| 26 *** <input> IS UNSAFE *** | |
| 27 @dis: | |
| 28 0000000000000000: 89 e5 mov %ebp, %esp | |
| 29 0000000000000002: 49 8d 2c 2f lea %rbp, [%r15
+%rbp*1] | |
| 30 0000000000000006: 89 e5 mov %ebp, %esp | |
| 31 0000000000000008: 4a 8d 6c 3d 00 lea %rbp, [%rbp
+%r15*1] | |
| 32 000000000000000d: 89 e5 mov %ebp, %esp | |
| 33 000000000000000f: 4a 8d ac 3d 00 00 00 00 lea %rbp, [%rbp
+%r15*1] | |
| 34 @rdfa_output: | |
| 35 2: [0] improper %rbp sandboxing | |
| 36 2: [0] error - %bpl or %bp is changed | |
| 37 return code: 1 | |
| 38 @validators_disagree: | |
| 39 errors reported by old validator but not by rdfa one: | |
| 40 0x0 (rdfa reported only offset 0x2) | |
| 41 ---------------------------------------------------------------------- | |
| 42 @hex: | |
| 43 # mov %ebp, %esp | |
| 44 89 ec \\ | |
| 45 # lea (%rsp, %r15), %rsp | |
| 46 4a 8d 24 3c | |
| 47 | |
| 48 # mov %ebp, %esp | |
| 49 89 ec \\ | |
| 50 # lea 0x00(%rsp, %r15), %rsp | |
| 51 4a 8d 64 3c 00 | |
| 52 | |
| 53 # mov %ebp, %esp | |
| 54 89 ec \\ | |
| 55 # lea 0x00000000(%rsp, %r15), %rsp | |
| 56 4a 8d a4 3c 00 00 00 00 | |
| 57 | |
| 58 # There is no 'lea (%r15, %rsp), ...' instruction, so nothing to try. | |
| 59 @rval: | |
| 60 VALIDATOR: Checking jump targets: 0 to 17 | |
| 61 VALIDATOR: Checking that basic blocks are aligned | |
| 62 *** <input> is safe *** | |
| 63 @dis: | |
| 64 0000000000000000: 89 ec mov %esp, %ebp | |
| 65 0000000000000002: 4a 8d 24 3c lea %rsp, [%rsp
+%r15*1] | |
| 66 0000000000000006: 89 ec mov %esp, %ebp | |
| 67 0000000000000008: 4a 8d 64 3c 00 lea %rsp, [%rsp
+%r15*1] | |
| 68 000000000000000d: 89 ec mov %esp, %ebp | |
| 69 000000000000000f: 4a 8d a4 3c 00 00 00 00 lea %rsp, [%rsp
+%r15*1] | |
| 70 @rdfa_output: | |
| 71 return code: 0 | |
| OLD | NEW |