diff mbox

[3/4] lm32: milkymist-tmu2: fix integer overflow

Message ID 1476311708-14792-3-git-send-email-michael@walle.cc (mailing list archive)
State New, archived
Headers show

Commit Message

Michael Walle Oct. 12, 2016, 10:35 p.m. UTC
Don't truncate the multiplication and do a 64 bit one instead because
because the result is stored in a 64 bit variable.

Spotted by coverity, CID 1167561.

Signed-off-by: Michael Walle <michael@walle.cc>
---
 hw/display/milkymist-tmu2.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Peter Maydell Oct. 13, 2016, 10:37 a.m. UTC | #1
On 12 October 2016 at 23:35, Michael Walle <michael@walle.cc> wrote:
> Don't truncate the multiplication and do a 64 bit one instead because
> because the result is stored in a 64 bit variable.
>
> Spotted by coverity, CID 1167561.
>
> Signed-off-by: Michael Walle <michael@walle.cc>
> ---
>  hw/display/milkymist-tmu2.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/hw/display/milkymist-tmu2.c b/hw/display/milkymist-tmu2.c
> index 9c00184..5c666f9 100644
> --- a/hw/display/milkymist-tmu2.c
> +++ b/hw/display/milkymist-tmu2.c
> @@ -213,7 +213,7 @@ static void tmu2_start(MilkymistTMU2State *s)
>      /* Read the QEMU source framebuffer into an OpenGL texture */
>      glGenTextures(1, &texture);
>      glBindTexture(GL_TEXTURE_2D, texture);
> -    fb_len = 2*s->regs[R_TEXHRES]*s->regs[R_TEXVRES];
> +    fb_len = 2ULL * s->regs[R_TEXHRES] * s->regs[R_TEXVRES];
>      fb = cpu_physical_memory_map(s->regs[R_TEXFBUF], &fb_len, 0);
>      if (fb == NULL) {
>          glDeleteTextures(1, &texture);
> --
> 2.1.4
>

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>

thanks
-- PMM
diff mbox

Patch

diff --git a/hw/display/milkymist-tmu2.c b/hw/display/milkymist-tmu2.c
index 9c00184..5c666f9 100644
--- a/hw/display/milkymist-tmu2.c
+++ b/hw/display/milkymist-tmu2.c
@@ -213,7 +213,7 @@  static void tmu2_start(MilkymistTMU2State *s)
     /* Read the QEMU source framebuffer into an OpenGL texture */
     glGenTextures(1, &texture);
     glBindTexture(GL_TEXTURE_2D, texture);
-    fb_len = 2*s->regs[R_TEXHRES]*s->regs[R_TEXVRES];
+    fb_len = 2ULL * s->regs[R_TEXHRES] * s->regs[R_TEXVRES];
     fb = cpu_physical_memory_map(s->regs[R_TEXFBUF], &fb_len, 0);
     if (fb == NULL) {
         glDeleteTextures(1, &texture);