From 966a960a8333a9d75da8103cbe5903d380ef7770 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Wed, 22 Mar 2017 14:11:19 +0200 Subject: [PATCH] [pixbuf] Avoid potential division by zero Avoid potential division by zero when performing the check against multiplication overflow. (Note that if the width is zero then there can be no overflow anyway, so it is then safe to bypass the check.) Signed-off-by: Michael Brown --- src/core/pixbuf.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/core/pixbuf.c b/src/core/pixbuf.c index 4742d285..641a0fb5 100644 --- a/src/core/pixbuf.c +++ b/src/core/pixbuf.c @@ -68,8 +68,10 @@ struct pixel_buffer * alloc_pixbuf ( unsigned int width, unsigned int height ) { pixbuf->len = ( width * height * sizeof ( uint32_t ) ); /* Check for multiplication overflow */ - if ( ( ( pixbuf->len / sizeof ( uint32_t ) ) / width ) != height ) + if ( ( width != 0 ) && + ( ( pixbuf->len / sizeof ( uint32_t ) ) / width ) != height ) { goto err_overflow; + } /* Allocate pixel data buffer */ pixbuf->data = umalloc ( pixbuf->len );