diff options
author | Enji Cooper <ngie@FreeBSD.org> | 2016-04-22 18:05:34 +0000 |
---|---|---|
committer | Enji Cooper <ngie@FreeBSD.org> | 2016-04-22 18:05:34 +0000 |
commit | fb0e1892d9e31cdba013c27b24c47c86838924a8 (patch) | |
tree | bb4bdeb74de817bae84cb2140465d0699d8249d8 /lib/libkvm/kvm_arm.c | |
parent | 4c26ac696ca202c0aa1976f08e527adca4f9c946 (diff) | |
download | src-fb0e1892d9e31cdba013c27b24c47c86838924a8.tar.gz src-fb0e1892d9e31cdba013c27b24c47c86838924a8.zip |
Fix up pointer issues with lib/libkvm
In particular,
- avoid dereferencing NULL pointers
- test pointers against NULL, not 0
- test for errout == NULL in the top-level functions (kvm_open, kvm_openfiles,
kvm_open2, etc)
- Replace a realloc and free on failure with reallocf
Found with: devel/cocchinelle
Differential Revision: https://reviews.freebsd.org/D5954
MFC after: 1 week
Reviewed by: jhb
Sponsored by: EMC / Isilon Storage Division
Notes
Notes:
svn path=/head/; revision=298485
Diffstat (limited to 'lib/libkvm/kvm_arm.c')
-rw-r--r-- | lib/libkvm/kvm_arm.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/libkvm/kvm_arm.c b/lib/libkvm/kvm_arm.c index ae5fb5bc8646..eeda900063f2 100644 --- a/lib/libkvm/kvm_arm.c +++ b/lib/libkvm/kvm_arm.c @@ -117,7 +117,7 @@ _arm_initvtop(kvm_t *kd) } vm = _kvm_malloc(kd, sizeof(*vm)); - if (vm == 0) { + if (vm == NULL) { _kvm_err(kd, kd->program, "cannot allocate vm"); return (-1); } @@ -168,6 +168,10 @@ _arm_initvtop(kvm_t *kd) return (-1); } l1pt = _kvm_malloc(kd, ARM_L1_TABLE_SIZE); + if (l1pt == NULL) { + _kvm_err(kd, kd->program, "cannot allocate l1pt"); + return (-1); + } if (kvm_read2(kd, pa, l1pt, ARM_L1_TABLE_SIZE) != ARM_L1_TABLE_SIZE) { _kvm_err(kd, kd->program, "cannot read l1pt"); free(l1pt); |