summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sbin/camcontrol/epc.c3
-rw-r--r--sbin/camcontrol/zone.c8
2 files changed, 6 insertions, 5 deletions
diff --git a/sbin/camcontrol/epc.c b/sbin/camcontrol/epc.c
index 10d76f6..783db59 100644
--- a/sbin/camcontrol/epc.c
+++ b/sbin/camcontrol/epc.c
@@ -633,8 +633,7 @@ epc(struct cam_device *device, int argc, char **argv, char *combinedopt,
goto bailout;
}
- bzero(&(&ccb->ccb_h)[1],
- sizeof(union ccb) - sizeof(struct ccb_hdr));
+ CCB_CLEAR_ALL_EXCEPT_HDR(ccb);
while ((c = getopt(argc, argv, combinedopt)) != -1) {
switch (c) {
diff --git a/sbin/camcontrol/zone.c b/sbin/camcontrol/zone.c
index aaf172e..87a1842 100644
--- a/sbin/camcontrol/zone.c
+++ b/sbin/camcontrol/zone.c
@@ -347,8 +347,7 @@ zone(struct cam_device *device, int argc, char **argv, char *combinedopt,
goto bailout;
}
- bzero(&(&ccb->ccb_h)[1],
- sizeof(union ccb) - sizeof(struct ccb_hdr));
+ CCB_CLEAR_ALL_EXCEPT_HDR(ccb);
while ((c = getopt(argc, argv, combinedopt)) != -1) {
switch (c) {
@@ -484,7 +483,8 @@ restart_report:
sector_count = ZAC_ATA_SECTOR_COUNT(alloc_len);
protocol = AP_PROTO_DMA;
} else {
- cdb_storage = calloc(cdb_storage_len, 1);
+ if (cdb_storage == NULL)
+ cdb_storage = calloc(cdb_storage_len, 1);
if (cdb_storage == NULL)
err(1, "couldn't allocate memory");
@@ -662,6 +662,8 @@ restart_report:
if (zp_status == ZONE_PRINT_MORE_DATA) {
bzero(ccb, sizeof(*ccb));
first_pass = 0;
+ if (cdb_storage != NULL)
+ bzero(cdb_storage, cdb_storage_len);
goto restart_report;
} else if (zp_status == ZONE_PRINT_ERROR)
error = 1;
OpenPOWER on IntegriCloud