libunwind-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[libunwind] [PATCH][3/4] Catch corner cases where the frames are more th


From: Arun Sharma
Subject: [libunwind] [PATCH][3/4] Catch corner cases where the frames are more than 4k apart.
Date: Wed, 15 Feb 2006 15:41:05 -0800
User-agent: Mutt/1.5.6+20040907i

Catch corner cases where the frames are more than 4k apart.

--- libunwind-0.98.5/src/x86_64/Gis_signal_frame.c-     2005-11-18 
16:21:18.000000000 -0800
+++ libunwind-0.98.5/src/x86_64/Gis_signal_frame.c      2005-11-18 
16:22:33.000000000 -0800
@@ -48,6 +48,8 @@
      0f 05                syscall
      66                   data16
   */
+  if ((c->dwarf.cfa - c->dwarf.ip) > 4096)
+      return 0;

   ip = c->dwarf.ip;
   if ((ret = (*a->access_mem) (as, ip, &w0, 0, arg)) < 0

diff -r 294c797d261e -r 937a1bdc6ba2 src/x86_64/Gis_signal_frame.c
--- a/src/x86_64/Gis_signal_frame.c     Fri Feb  3 20:57:59 2006
+++ b/src/x86_64/Gis_signal_frame.c     Fri Feb  3 20:58:09 2006
@@ -48,6 +48,8 @@
      0f 05                syscall
      66                   data16
   */
+  if ((c->dwarf.cfa - c->dwarf.ip) > 4096)
+      return 0;
 
   ip = c->dwarf.ip;
   if ((ret = (*a->access_mem) (as, ip, &w0, 0, arg)) < 0

reply via email to

[Prev in Thread] Current Thread [Next in Thread]