On 15.09.2015 18:07, marcandre.lur...@redhat.com wrote:
> From: Marc-André Lureau <marcandre.lur...@redhat.com>
> 
> Limit the maximum number of peers to MAXUINT16. This is more realistic
> and better matches the limit of the doorbell register.
> 
> Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com>
> ---
>  hw/misc/ivshmem.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c
> index 7ba93c0..cd2c4bc 100644
> --- a/hw/misc/ivshmem.c
> +++ b/hw/misc/ivshmem.c
> @@ -34,6 +34,7 @@
>  #define PCI_VENDOR_ID_IVSHMEM   PCI_VENDOR_ID_REDHAT_QUMRANET
>  #define PCI_DEVICE_ID_IVSHMEM   0x1110
>  
> +#define IVSHMEM_MAX_PEERS G_MAXUINT16
>  #define IVSHMEM_IOEVENTFD   0
>  #define IVSHMEM_MSI     1
>  
> @@ -421,8 +422,8 @@ static int increase_dynamic_storage(IVShmemState *s, int 
> new_min_size)
>  
>      int j, old_nb_alloc;
>  
> -    /* check for integer overflow */
> -    if (new_min_size >= INT_MAX / sizeof(Peer) - 1 || new_min_size <= 0) {
> +    /* limit number of max peers */
> +    if (new_min_size <= 0 || new_min_size > IVSHMEM_MAX_PEERS) {
>          return -1;
>      }
>  
> 
Reviewed-by: Claudio Fontana <claudio.font...@huawei.com>


-- 
Claudio Fontana
Server Virtualization Architect
Huawei Technologies Duesseldorf GmbH
Riesstraße 25 - 80992 München


Reply via email to