[U-Boot] [PATCH 1/1] usbtty: avoid potential NULL pointer dereference

Marek Vasut marex at denx.de
Sun Apr 16 16:11:46 UTC 2017


On 04/15/2017 03:05 PM, Heinrich Schuchardt wrote:
> If current_urb is NULL it should not be dereferenced.
> 
> The problem was indicated by cppcheck.
> 
> Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de>

Applied, thanks.

> ---
>  drivers/serial/usbtty.c | 13 +++++++------
>  1 file changed, 7 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/serial/usbtty.c b/drivers/serial/usbtty.c
> index 2e19813643..29799dce93 100644
> --- a/drivers/serial/usbtty.c
> +++ b/drivers/serial/usbtty.c
> @@ -850,6 +850,13 @@ static int write_buffer (circbuf_t * buf)
>  	struct urb *current_urb = NULL;
>  
>  	current_urb = next_urb (device_instance, endpoint);
> +
> +	if (!current_urb) {
> +		TTYERR ("current_urb is NULL, buf->size %d\n",
> +		buf->size);
> +		return 0;
> +	}
> +
>  	/* TX data still exists - send it now
>  	 */
>  	if(endpoint->sent < current_urb->actual_length){
> @@ -871,12 +878,6 @@ static int write_buffer (circbuf_t * buf)
>  		 */
>  		while (buf->size > 0) {
>  
> -			if (!current_urb) {
> -				TTYERR ("current_urb is NULL, buf->size %d\n",
> -					buf->size);
> -				return total;
> -			}
> -
>  			dest = (char*)current_urb->buffer +
>  				current_urb->actual_length;
>  
> 


-- 
Best regards,
Marek Vasut


More information about the U-Boot mailing list