From a65b1418b1b67738cf7e93afba883b4d675e32a2 Mon Sep 17 00:00:00 2001 From: Robert Spalek Date: Mon, 28 Jun 2004 12:04:22 +0000 Subject: [PATCH] avoid one pointer --- lib/lizard-safe.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/lib/lizard-safe.c b/lib/lizard-safe.c index dcc01d11..9c347bd2 100644 --- a/lib/lizard-safe.c +++ b/lib/lizard-safe.c @@ -21,7 +21,7 @@ struct lizard_buffer { uns len; void *ptr; - struct sigaction *old_sigsegv_handler; + struct sigaction old_sigsegv_handler; }; struct lizard_buffer * @@ -30,8 +30,7 @@ lizard_alloc(void) struct lizard_buffer *buf = xmalloc(sizeof(struct lizard_buffer)); buf->len = 0; buf->ptr = NULL; - buf->old_sigsegv_handler = xmalloc(sizeof(struct sigaction)); - handle_signal(SIGSEGV, buf->old_sigsegv_handler); + handle_signal(SIGSEGV, &buf->old_sigsegv_handler); return buf; } @@ -40,8 +39,7 @@ lizard_free(struct lizard_buffer *buf) { if (buf->ptr) munmap(buf->ptr, buf->len + PAGE_SIZE); - unhandle_signal(SIGSEGV, buf->old_sigsegv_handler); - xfree(buf->old_sigsegv_handler); + unhandle_signal(SIGSEGV, &buf->old_sigsegv_handler); xfree(buf); } -- 2.39.2