aboutsummaryrefslogtreecommitdiff
path: root/src/sg_write_verify.c
diff options
context:
space:
mode:
authorDouglas Gilbert <dgilbert@interlog.com>2018-05-02 22:02:05 +0000
committerDouglas Gilbert <dgilbert@interlog.com>2018-05-02 22:02:05 +0000
commita59b767b38f08c0dafc011a58e8791aa06d4feb0 (patch)
tree8be0500cec5edb562779bc41f0ef7ad46b8c86fc /src/sg_write_verify.c
parentf65566c3934a9e22335dee20401cc1cc50865d56 (diff)
downloadsg3_utils-a59b767b38f08c0dafc011a58e8791aa06d4feb0.tar.gz
sg_lib: add sg_ll_inquiry_pt(), sg_ll_test_unit_ready_progress_pt(), sg_ll_request_sense_pt(), sg_ll_send_diag_pt(), sg_ll_receive_diag_pt(); sg_timestamp: add --elapsed, --hex and --no-timestamp options; sg_ses: check for NVMe enclosure bits
git-svn-id: https://svn.bingwo.ca/repos/sg3_utils/trunk@769 6180dd3e-e324-4e3e-922d-17de1ae2f315
Diffstat (limited to 'src/sg_write_verify.c')
-rw-r--r--src/sg_write_verify.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/sg_write_verify.c b/src/sg_write_verify.c
index 00adb6e0..aae62257 100644
--- a/src/sg_write_verify.c
+++ b/src/sg_write_verify.c
@@ -288,7 +288,8 @@ main(int argc, char * argv[])
uint64_t llba = 0;
int64_t ll;
uint8_t * wvb = NULL;
- void * wrkBuff = NULL;
+ uint8_t * wrkBuff = NULL;
+ uint8_t * free_wrkBuff = NULL;
const char * device_name = NULL;
const char * ifnp;
char cmd_name[32];
@@ -497,9 +498,10 @@ main(int argc, char * argv[])
} else if (verbose)
pr2serr("Using file size of %d bytes\n", ilen);
}
- if (NULL == (wrkBuff = malloc(ilen))) {
+ if (NULL == (wrkBuff = (uint8_t *)sg_memalign(ilen, 0,
+ &free_wrkBuff, verbose > 3))) {
pr2serr(ME "out of memory\n");
- ret = SG_LIB_CAT_OTHER;
+ ret = sg_convert_errno(ENOMEM);
goto err_out;
}
wvb = (uint8_t *)wrkBuff;
@@ -523,9 +525,10 @@ main(int argc, char * argv[])
num_lb, 512, 512 * num_lb);
ilen = 512 * num_lb;
}
- if (NULL == (wrkBuff = malloc(ilen))) {
+ if (NULL == (wrkBuff = (uint8_t *)sg_memalign(ilen, 0,
+ &free_wrkBuff, verbose > 3))) {
pr2serr(ME "out of memory\n");
- ret = SG_LIB_CAT_OTHER;
+ ret = sg_convert_errno(ENOMEM);
goto err_out;
}
wvb = (uint8_t *)wrkBuff;
@@ -576,8 +579,8 @@ err_out:
if (repeat)
pr2serr("%d [0x%x] logical blocks written, in total\n", tnum_lb_wr,
tnum_lb_wr);
- if (wrkBuff)
- free(wrkBuff);
+ if (free_wrkBuff)
+ free(free_wrkBuff);
if ((ifd >= 0) && (STDIN_FILENO != ifd))
close(ifd);
res = sg_cmds_close_device(sg_fd);