diff options
author | Douglas Gilbert <dgilbert@interlog.com> | 2021-08-04 15:35:26 +0000 |
---|---|---|
committer | Douglas Gilbert <dgilbert@interlog.com> | 2021-08-04 15:35:26 +0000 |
commit | cbde70fafd0ab9353e79b708621adf73420fdded (patch) | |
tree | 907f91f8803a78d13acf373658cc655ce99c1bc6 /src/sg_get_elem_status.c | |
parent | bfbefdf2d9aa12107d08d796d6fc78862ab85402 (diff) | |
download | sg3_utils-cbde70fafd0ab9353e79b708621adf73420fdded.tar.gz |
sg_ses: guard against small '--maxlen=' values
In several utilities guard against '--maxlen=' < 4 or < 16
as they seem to serve no useful purpose other than finding
awkward corner cases that may trip up these utilities.
git-svn-id: https://svn.bingwo.ca/repos/sg3_utils/trunk@908 6180dd3e-e324-4e3e-922d-17de1ae2f315
Diffstat (limited to 'src/sg_get_elem_status.c')
-rw-r--r-- | src/sg_get_elem_status.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/sg_get_elem_status.c b/src/sg_get_elem_status.c index db7181f2..389a3792 100644 --- a/src/sg_get_elem_status.c +++ b/src/sg_get_elem_status.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2020 Douglas Gilbert. + * Copyright (c) 2019-2021 Douglas Gilbert. * All rights reserved. * Use of this source code is governed by a BSD-style * license that can be found in the BSD_LICENSE file. @@ -37,7 +37,7 @@ * given SCSI device. */ -static const char * version_str = "1.03 20200423"; /* sbc4r19 */ +static const char * version_str = "1.04 20210803"; /* sbc4r19 */ #ifndef UINT32_MAX @@ -49,6 +49,7 @@ static const char * version_str = "1.03 20200423"; /* sbc4r19 */ #define MAX_GPES_BUFF_LEN ((1024 * 1024) + DEF_GPES_BUFF_LEN) #define GPES_DESC_OFFSET 32 /* descriptors starts at this byte offset */ #define GPES_DESC_LEN 32 +#define MIN_MAXLEN 16 #define SENSE_BUFF_LEN 64 /* Arbitrary, could be larger */ #define DEF_PT_TIMEOUT 60 /* 60 seconds */ @@ -291,6 +292,11 @@ main(int argc, char * argv[]) } if (0 == maxlen) maxlen = DEF_GPES_BUFF_LEN; + else if (n < MIN_MAXLEN) { + pr2serr("Warning: --maxlen=LEN less than %d ignored\n", + MIN_MAXLEN); + maxlen = DEF_GPES_BUFF_LEN; + } break; case 'r': do_raw = true; |