diff options
author | delphij <delphij@FreeBSD.org> | 2005-07-13 10:40:07 +0000 |
---|---|---|
committer | delphij <delphij@FreeBSD.org> | 2005-07-13 10:40:07 +0000 |
commit | b01a145dbf9b0649925cd1b8fccb00a7e78b8615 (patch) | |
tree | 321da183dcdfce50bead227fc8cbc472bed2fedc /lib/libcam | |
parent | 8f5f7d592abf7290a99058bdbb3682f7fb6671d7 (diff) | |
download | FreeBSD-src-b01a145dbf9b0649925cd1b8fccb00a7e78b8615.zip FreeBSD-src-b01a145dbf9b0649925cd1b8fccb00a7e78b8615.tar.gz |
Better memory handling:
- It is acceptable to call free(3) when the given pointer itself
is NULL, so we do not need to determine NULL before passing
a pointer to free(3)
- Handle failure of malloc(3)
MT6/5 Candidate
Submitted by: Dan Lukes <dan at obluda cz>
PR: bin/83352
Diffstat (limited to 'lib/libcam')
-rw-r--r-- | lib/libcam/camlib.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/libcam/camlib.c b/lib/libcam/camlib.c index 03754bb..c62d3a6 100644 --- a/lib/libcam/camlib.c +++ b/lib/libcam/camlib.c @@ -97,8 +97,7 @@ cam_getccb(struct cam_device *dev) void cam_freeccb(union ccb *ccb) { - if (ccb != NULL) - free(ccb); + free(ccb); } /* @@ -708,8 +707,7 @@ cam_close_device(struct cam_device *dev) cam_close_spec_device(dev); - if (dev != NULL) - free(dev); + free(dev); } void @@ -757,6 +755,11 @@ cam_device_dup(struct cam_device *device) } newdev = malloc(sizeof(struct cam_device)); + if (newdev == NULL) { + snprintf(cam_errbuf, CAM_ERRBUF_SIZE, + "%s: couldn't malloc CAM device structure", func_name); + return(NULL); + } bcopy(device, newdev, sizeof(struct cam_device)); |