summary refs log tree commit diff
diff options
context:
space:
mode:
authorDan Carpenter <dan.carpenter@oracle.com>2017-08-04 11:17:33 +0300
committerMartin K. Petersen <martin.petersen@oracle.com>2017-08-24 22:29:01 -0400
commit59e3da58705b3d86f45c68b639a6e9f22341bd11 (patch)
treea380df8798bcb8b8719c7bbf0c32b472f117994f
parent32690e0b5601f95610f0254202ad2321900ac726 (diff)
downloadlinux-59e3da58705b3d86f45c68b639a6e9f22341bd11.tar.gz
scsi: osst: silence underflow warning in osst_verify_frame()
The code looks like this:

	i = ntohl(aux->filemark_cnt);
	if (STp->header_cache != NULL && i < OS_FM_TAB_MAX && (i > STp->filemark_cnt ||
	    STp->first_frame_position - 1 != ntohl(STp->header_cache->dat_fm_tab.fm_tab_ent[i]))) {

If i is negative then it's less than OS_FM_TAB_MAX so we read before
the start of the STp->header_cache->dat_fm_tab.fm_tab_ent[] array.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-rw-r--r--drivers/scsi/osst.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/osst.c b/drivers/scsi/osst.c
index 241908aca468..20ec1c01dbd5 100644
--- a/drivers/scsi/osst.c
+++ b/drivers/scsi/osst.c
@@ -619,7 +619,7 @@ static int osst_verify_frame(struct osst_tape * STp, int frame_seq_number, int q
 	os_aux_t           * aux  = STp->buffer->aux;
 	os_partition_t     * par  = &(aux->partition);
 	struct st_partstat * STps = &(STp->ps[STp->partition]);
-	int		     blk_cnt, blk_sz, i;
+	unsigned int	     blk_cnt, blk_sz, i;
 
 	if (STp->raw) {
 		if (STp->buffer->syscall_result) {