diff options
author | Douglas Gilbert <dgilbert@interlog.com> | 2021-06-07 15:21:01 +0000 |
---|---|---|
committer | Douglas Gilbert <dgilbert@interlog.com> | 2021-06-07 15:21:01 +0000 |
commit | 30363466e3580cae5f428c9bf35caa934cef469b (patch) | |
tree | 265f9bd6b4a8ebcf7102908ca0596dc1f42ce28a /src/sg_dd.c | |
parent | d65eadbdaa302c7b83c059569a28efd3304947e4 (diff) | |
download | sg3_utils-30363466e3580cae5f428c9bf35caa934cef469b.tar.gz |
sg_vpd: fix do_hex type on some recent pages; sg_dd: don't close negative file descriptors; pt_linux_nvme: fix fua setting
git-svn-id: https://svn.bingwo.ca/repos/sg3_utils/trunk@903 6180dd3e-e324-4e3e-922d-17de1ae2f315
Diffstat (limited to 'src/sg_dd.c')
-rw-r--r-- | src/sg_dd.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/sg_dd.c b/src/sg_dd.c index 13cfd780..4266972f 100644 --- a/src/sg_dd.c +++ b/src/sg_dd.c @@ -70,7 +70,7 @@ #include "sg_unaligned.h" #include "sg_pr2serr.h" -static const char * version_str = "6.26 20210512"; +static const char * version_str = "6.27 20210601"; #define ME "sg_dd: " @@ -2479,7 +2479,7 @@ main(int argc, char * argv[]) } else if (FT_DEV_NULL & out_type) ; else { - off64_t offset = blocks * blk_sz; + off64_t offset = (off64_t)blocks * blk_sz; off64_t off_res; if (verbose > 2) @@ -2681,10 +2681,12 @@ bypass_copy: free(wrkBuff); if (free_zeros_buff) free(free_zeros_buff); - if (STDIN_FILENO != infd) + if ((STDIN_FILENO != infd) && (infd >= 0)) close(infd); - if (! ((STDOUT_FILENO == outfd) || (FT_DEV_NULL & out_type))) - close(outfd); + if (! ((STDOUT_FILENO == outfd) || (FT_DEV_NULL & out_type))) { + if (outfd >= 0) + close(outfd); + } if (dry_run > 0) goto bypass2; |