From 54458befa17d26d05a8f24e936bc5e032ba901fe Mon Sep 17 00:00:00 2001 From: cperciva Date: Sat, 14 Nov 2009 09:33:51 +0000 Subject: [PATCH] Update malloc utrace structure parsing to reflect the change (r199265) in how malloc_init is logged from (0, 0, 0) to (-1, 0, 0). While we're here, simplify the logic. Reviewed by: jhb (earlier version) --- usr.bin/kdump/kdump.c | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/usr.bin/kdump/kdump.c b/usr.bin/kdump/kdump.c index 60ce05f4f2d..305e584e59b 100644 --- a/usr.bin/kdump/kdump.c +++ b/usr.bin/kdump/kdump.c @@ -1121,17 +1121,14 @@ ktruser_malloc(int len, unsigned char *p) { struct utrace_malloc *ut = (struct utrace_malloc *)p; - if (ut->p == NULL) { - if (ut->s == 0 && ut->r == NULL) - printf("malloc_init()\n"); - else - printf("%p = malloc(%zu)\n", ut->r, ut->s); - } else { - if (ut->s == 0) - printf("free(%p)\n", ut->p); - else - printf("%p = realloc(%p, %zu)\n", ut->r, ut->p, ut->s); - } + if (ut->p == (void *)(intptr_t)(-1)) + printf("malloc_init()\n"); + else if (ut->s == 0) + printf("free(%p)\n", ut->p); + else if (ut->p == NULL) + printf("%p = malloc(%zu)\n", ut->r, ut->s); + else + printf("%p = realloc(%p, %zu)\n", ut->r, ut->p, ut->s); } void -- 2.45.0