Vulnerability Development mailing list archives
Re: solaris gdb screen mayhem
From: wwieser () gmx de
Date: Fri, 31 Aug 2001 13:45:33 +0200
On Wednesday 29 August 2001 23:51, you wrote:
Execution on a non-executable stack gets a SEGV. Is there a way the program can distinguish this from any other SEGV ?
Read the manual for sigaction(2). Use the signal handler void (*sa_sigaction)(int, siginfo_t *, void *); (you will have to set SA_SIGINFO in sa_flags). Now, in the signal handler routine, analyze siginfo_t: si_code will show you if SIGSEGV/BUS was generated by kill(2) or kill(1) or by the kernel. You even get the address causing the fault in si_addr. The stuff seems to be POSIX.1b so I guess solaris implements it. wwieser
Current thread:
- solaris gdb screen mayhem Antonomasia (Aug 29)
- Re: solaris gdb screen mayhem corecode (Aug 30)
- Re: solaris gdb screen mayhem Dave Aitel (Aug 30)
- Re: solaris gdb screen mayhem wwieser (Aug 31)