From: Dan Carpenter Date: Mon, 13 Mar 2017 12:34:14 +0000 (+0300) Subject: staging: atomisp: potential underflow in atomisp_get_metadata_by_type() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=39c116dcfd5f4df42167f06414dd81fba0ffe74c;p=linux.git staging: atomisp: potential underflow in atomisp_get_metadata_by_type() md_type is an enum. On my tests, GCC treats it as unsigned but according to the C standard it's an implementation dependant thing so we should check for negatives. Fixes: a49d25364dfb ("staging/atomisp: Add support for the Intel IPU v2") Signed-off-by: Dan Carpenter Acked-by: Alan Cox Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c index 97207569f14ba..1ee99d0e43ee1 100644 --- a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c +++ b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c @@ -3004,7 +3004,7 @@ int atomisp_get_metadata_by_type(struct atomisp_sub_device *asd, int flag, return 0; md_type = md->type; - if (md_type >= ATOMISP_METADATA_TYPE_NUM) + if (md_type < 0 || md_type >= ATOMISP_METADATA_TYPE_NUM) return -EINVAL; /* This is done in the atomisp_buf_done() */