rem: yuv = malloc ((width + 8) * (height + 1) * 2);
add: yuv = g_malloc ((width + 8) * (height + 1) * 2);
context: bacon_video_widget_get_current_frame (BaconVideoWidget *bvw){	GdkPixbuf *pixbuf = NULL;	uint8_t *yuv, *y, *u, *v, *rgb;	int width, height, ratio, format;	g_return_val_if_fail (bvw != NULL, NULL);	g_return_val_if_fail (BACON_IS_VIDEO_WIDGET (bvw), NULL);	g_return_val_if_fail (bvw->priv->xine != NULL, NULL);	if (xine_get_current_frame (bvw->priv->stream, &width, &height,			&ratio, &format, NULL) == 0)		return NULL;	if (width == 0 || height == 0)		return NULL;	yuv = malloc ((width + 8) * (height + 1) * 2);	if (yuv == NULL)		return NULL;	if (xine_get_current_frame (bvw->priv->stream, &width, &height,			&ratio, &format, yuv) == 0)	{		g_free (yuv);		return NULL;	}	/* Convert to yv12 */	switch (format) {	case XINE_IMGFMT_YUY2:		{			uint8_t *yuy2 = yuv;			yuv = malloc (width * height * 2);			y = yuv;			u = yuv + width * height;			v = yuv + width * height * 5 / 4;			yuy2toyv12 (y, u, v, yuy2, width, height);			g_free (yuy2);		}		break;	case XINE_IMGFMT_YV12:		y = yuv;		u = yuv + width * height;		v = yuv + width * height * 5 / 4;		break;	default:		g_warning ("Format '%.4s' unsupported", (char *) &format);		g_free (yuv);		return NULL;	}	/* Convert to rgb */	rgb = yv12torgb (y, u, v, width, height);	pixbuf = gdk_pixbuf_new_from_data (rgb,			GDK_COLORSPACE_RGB, FALSE,			8, width, height, 3 * width,			(GdkPixbufDestroyNotify) g_free, NULL);	/* MPEG streams have ratio information */	ratio = xine_get_stream_info (bvw->priv->stream,			XINE_STREAM_INFO_VIDEO_RATIO);	if (ratio != 10000.0 && ratio != 0.0)	{		GdkPixbuf *tmp;		if (ratio > 10000.0)			tmp = gdk_pixbuf_scale_simple (pixbuf,					(int) (height * ratio / 10000), height,					GDK_INTERP_BILINEAR);		else			tmp = gdk_pixbuf_scale_simple (pixbuf,					width, (int) (width * ratio / 10000),					GDK_INTERP_BILINEAR);		gdk_pixbuf_unref (pixbuf);		return tmp;	}	return pixbuf;}