From 5e9352496017fb9bc37de24c9baea9c1fc9a7312 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Voltz?= Date: Mon, 18 Mar 2013 11:39:43 +0100 Subject: [PATCH] bug 314038 use after free - apply patch from Nickolai Zeldovich (nickolai-guest) to fix use after free errors --- backend/stv680.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/backend/stv680.c b/backend/stv680.c index baad23aeb..15a847227 100644 --- a/backend/stv680.c +++ b/backend/stv680.c @@ -270,8 +270,8 @@ stv680_init (void) dev->windowr = malloc (dev->windowr_size); if (dev->windowr == NULL) { - free (dev); free (dev->windoww); + free (dev); return NULL; } @@ -302,9 +302,9 @@ stv680_init_2 (Stv680_Vidcam * dev) if (dev->buffer == NULL) { - free (dev); free (dev->windowr); free (dev->windoww); + free (dev); return SANE_STATUS_NO_MEM; } @@ -314,10 +314,10 @@ stv680_init_2 (Stv680_Vidcam * dev) dev->output = malloc (dev->output_size); if (dev->output == NULL) { - free (dev); free (dev->windowr); free (dev->windoww); free (dev->buffer); + free (dev); return SANE_STATUS_NO_MEM; } @@ -326,11 +326,11 @@ stv680_init_2 (Stv680_Vidcam * dev) dev->image = malloc (dev->image_size); if (dev->image == NULL) { - free (dev); free (dev->windowr); free (dev->windoww); free (dev->buffer); free (dev->output); + free (dev); return SANE_STATUS_NO_MEM; }