diff options
author | ache <ache@FreeBSD.org> | 1996-11-11 08:28:47 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 1996-11-11 08:28:47 +0000 |
commit | 26976c4aeef49bec6f7209edbdc489614ba70a12 (patch) | |
tree | 54353b89372adc432548645c299404320eb476bc | |
parent | 3f0c80b2e9b04379f6a4937173027135e3f6e247 (diff) | |
download | FreeBSD-src-26976c4aeef49bec6f7209edbdc489614ba70a12.zip FreeBSD-src-26976c4aeef49bec6f7209edbdc489614ba70a12.tar.gz |
kvm_malloc:
When malloc fails. don't try to memset NULL pointer, it cause core dump
Replace malloc+memset with calloc, theoretically it can do some
optimization of zeroing process internally
Improve error diagnostic
-rw-r--r-- | lib/libkvm/kvm.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/libkvm/kvm.c b/lib/libkvm/kvm.c index 3c95b85..a2ea42a 100644 --- a/lib/libkvm/kvm.c +++ b/lib/libkvm/kvm.c @@ -155,9 +155,9 @@ _kvm_malloc(kd, n) { void *p; - if ((p = malloc(n)) == NULL) - _kvm_err(kd, kd->program, strerror(errno)); - memset(p, 0, n); + if ((p = calloc(n, sizeof(char))) == NULL) + _kvm_err(kd, kd->program, "can't allocate %u bytes: %s", + n, strerror(errno)); return (p); } |