auto import from //branches/cupcake/...@127101
diff --git a/libc/unistd/abort.c b/libc/unistd/abort.c
index 3291287..a02beba 100644
--- a/libc/unistd/abort.c
+++ b/libc/unistd/abort.c
@@ -56,9 +56,11 @@
if (cleanup_called == 0) {
while (p != NULL && p->next != NULL)
p = p->next;
- if (p != NULL && p->fns[0] != NULL) {
+ /* the check for fn_dso == NULL is mostly paranoia */
+ if (p != NULL && p->fns[0].fn_dso == NULL &&
+ p->fns[0].fn_ptr.std_func != NULL) {
cleanup_called = 1;
- (*p->fns[0])();
+ (*p->fns[0].fn_ptr.std_func)();
}
}