forked from Lainports/freebsd-ports
check return address as well. It is necessary for avoiding crash when FreeBSD threads are used.
18 lines
390 B
C
18 lines
390 B
C
|
|
$FreeBSD$
|
|
|
|
--- execinfo.c 2003/08/10 06:14:30 1.1
|
|
+++ execinfo.c 2003/08/10 06:15:23
|
|
@@ -41,8 +41,11 @@
|
|
{
|
|
int i;
|
|
|
|
- for (i = 1; getframeaddr(i + 1) != NULL && i != size + 1; i++)
|
|
+ for (i = 1; getframeaddr(i + 1) != NULL && i != size + 1; i++) {
|
|
buffer[i - 1] = getreturnaddr(i);
|
|
+ if (buffer[i - 1] == NULL)
|
|
+ break;
|
|
+ }
|
|
|
|
return i - 1;
|
|
}
|