[Nasm-bugs] [Bug 3392515] FPE found in nasm assembler

noreply-nasm at gorcunov.org noreply-nasm at gorcunov.org
Thu Sep 6 21:40:24 PDT 2018


https://bugzilla.nasm.us/show_bug.cgi?id=3392515

stuartly <situlingyun at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |situlingyun at gmail.com

--- Comment #1 from stuartly <situlingyun at gmail.com> ---
I use gdb to debug the FPE bug and it occurs at asm/eval.c:611.

The detail is as below:


(gdb) r -felf64
./out-AFL-Org4/crashes/id:000004,sig:08,src:007049,op:arith8,pos:246,val:-6
Starting program:
/home/stly/Desktop/TargetFuzz/Benchmark/nasm/installed-address/bin/nasm -felf64
./out-AFL-Org4/crashes/id:000004,sig:08,src:007049,op:arith8,pos:246,val:-6
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
./out-AFL-Org4/crashes/id:000004,sig:08,src:007049,op:arith8,pos:246,val:-6:4:
error: parser: instruction expected
./out-AFL-Org4/crashes/id:000004,sig:08,src:007049,op:arith8,pos:246,val:-6:7:
error: impossible combination of address sizes
./out-AFL-Org4/crashes/id:000004,sig:08,src:007049,op:arith8,pos:246,val:-6:7:
error: invalid effective address
./out-AFL-Org4/crashes/id:000004,sig:08,src:007049,op:arith8,pos:246,val:-6:11:
error: impossible combination of address sizes
./out-AFL-Org4/crashes/id:000004,sig:08,src:007049,op:arith8,pos:246,val:-6:11:
error: invalid effective address
./out-AFL-Org4/crashes/id:000004,sig:08,src:007049,op:arith8,pos:246,val:-6:13:
error: symbol `h' not defined before use

Program received signal SIGFPE, Arithmetic exception.
0x00000000005715e2 in expr5 (critical=<optimized out>) at asm/eval.c:611
611                     e = scalarvect(((uint64_t)reloc_value(e)) %
(gdb) l
606                 break;
607             case '%':
608                 if (is_just_unknown(e) || is_just_unknown(f))
609                     e = unknown_expr();
610                 else
611                     e = scalarvect(((uint64_t)reloc_value(e)) %
612                                    ((uint64_t)reloc_value(f)));
613                 break;
614             case TOKEN_SDIV:
615                 if (is_just_unknown(e) || is_just_unknown(f))

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are watching all bug changes.


More information about the Nasm-bugs mailing list