aboutsummaryrefslogtreecommitdiffstats
path: root/graphics
diff options
context:
space:
mode:
authorzeising <zeising@FreeBSD.org>2013-06-05 03:31:29 +0800
committerzeising <zeising@FreeBSD.org>2013-06-05 03:31:29 +0800
commit442ad832d5fd90880adaa0438bc6fc47b10d207b (patch)
treeb5553ea72e286d166ab601ab26b551eaadb9b1e9 /graphics
parentd165698a45f50cf55e3d4a80d867422aff7e8f36 (diff)
downloadfreebsd-ports-gnome-442ad832d5fd90880adaa0438bc6fc47b10d207b.tar.gz
freebsd-ports-gnome-442ad832d5fd90880adaa0438bc6fc47b10d207b.tar.zst
freebsd-ports-gnome-442ad832d5fd90880adaa0438bc6fc47b10d207b.zip
Fix security issues in xorg client libraries.
Most libraries were updated to newer versions, in some cases patches were backported instead. Most notably, x11/libX11 was updated to 1.6.0 Security: CVE-2013-1981 CVE-2013-1982 CVE-2013-1983 CVE-2013-1984 CVE-2013-1985 CVE-2013-1986 CVE-2013-1987 CVE-2013-1988 CVE-2013-1989 CVE-2013-1990 CVE-2013-1991 CVE-2013-1992 CVE-2013-1993 CVE-2013-1994 CVE-2013-1995 CVE-2013-1996 CVE-2013-1997 CVE-2013-1998 CVE-2013-1999 CVE-2013-2000 CVE-2013-2001 CVE-2013-2002 CVE-2013-2003 CVE-2013-2004 CVE-2013-2005 CVE-2013-2062 CVE-2013-2063 CVE-2013-2064 CVE-2013-2066
Diffstat (limited to 'graphics')
-rw-r--r--graphics/libGL/Makefile4
-rw-r--r--graphics/libGL/bsd.mesalib.mk6
-rw-r--r--graphics/libGL/files/extra-src_glx_XF86dri.c38
-rw-r--r--graphics/libGL/files/extra-src_glx_x11_XF86dri.c38
4 files changed, 82 insertions, 4 deletions
diff --git a/graphics/libGL/Makefile b/graphics/libGL/Makefile
index 012ac64369bf..ec5e7da2c4cd 100644
--- a/graphics/libGL/Makefile
+++ b/graphics/libGL/Makefile
@@ -3,13 +3,13 @@
PORTNAME= libGL
PORTVERSION= ${MESAVERSION}
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics
COMMENT= OpenGL library that renders using GLX or DRI
LIB_DEPENDS+= drm:${PORTSDIR}/graphics/libdrm \
- expat.6:${PORTSDIR}/textproc/expat2
+ expat:${PORTSDIR}/textproc/expat2
USES= pkgconfig
USE_XORG= glproto x11 xext xxf86vm xdamage xfixes dri2proto:both
diff --git a/graphics/libGL/bsd.mesalib.mk b/graphics/libGL/bsd.mesalib.mk
index 6ccc9378f272..d1ff9de830bc 100644
--- a/graphics/libGL/bsd.mesalib.mk
+++ b/graphics/libGL/bsd.mesalib.mk
@@ -56,14 +56,16 @@ EXTRA_PATCHES+= ${PATCHDIR}/extra-configure \
${PATCHDIR}/extra-src-glsl_ir_constant_expression.cpp \
${PATCHDIR}/extra-src__gallium__include__pipe__p_config.h \
${PATCHDIR}/extra-src__mesa__drivers__dri__nouveau__nouveau_array.c \
- ${PATCHDIR}/extra-src__mesa__drivers__dri__nouveau__nouveau_render_t.c
+ ${PATCHDIR}/extra-src__mesa__drivers__dri__nouveau__nouveau_render_t.c \
+ ${PATCHDIR}/extra-src_glx_XF86dri.c
.else
EXTRA_PATCHES+= ${PATCHDIR}/extra-configure-old \
${PATCHDIR}/extra-mach64_context.h-old \
${PATCHDIR}/extra-src__mesa__x86-64__glapi_x86-64.S \
${PATCHDIR}/extra-src__mesa__x86-64__xform4.S \
${PATCHDIR}/extra-src__mesa__x86__glapi_x86.S \
- ${PATCHDIR}/extra-src__mesa__x86__read_rgba_span_x86.S
+ ${PATCHDIR}/extra-src__mesa__x86__read_rgba_span_x86.S \
+ ${PATCHDIR}/extra-src_glx_x11_XF86dri.c
CONFIGURE_ARGS+=--disable-glut --disable-glw
.endif
diff --git a/graphics/libGL/files/extra-src_glx_XF86dri.c b/graphics/libGL/files/extra-src_glx_XF86dri.c
new file mode 100644
index 000000000000..42319b8abb6e
--- /dev/null
+++ b/graphics/libGL/files/extra-src_glx_XF86dri.c
@@ -0,0 +1,38 @@
+--- src/glx/XF86dri.c.orig 2012-10-24 19:03:59.000000000 +0000
++++ src/glx/XF86dri.c 2013-05-29 10:07:33.000000000 +0000
+@@ -43,6 +43,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ #include <X11/extensions/Xext.h>
+ #include <X11/extensions/extutil.h>
+ #include "xf86dristr.h"
++#include <limits.h>
+
+ static XExtensionInfo _xf86dri_info_data;
+ static XExtensionInfo *xf86dri_info = &_xf86dri_info_data;
+@@ -201,7 +202,11 @@ XF86DRIOpenConnection(Display * dpy, int
+ }
+
+ if (rep.length) {
+- if (!(*busIdString = (char *) Xcalloc(rep.busIdStringLength + 1, 1))) {
++ if (rep.busIdStringLength < INT_MAX)
++ *busIdString = Xcalloc(rep.busIdStringLength + 1, 1);
++ else
++ *busIdString = NULL;
++ if (*busIdString == NULL) {
+ _XEatData(dpy, ((rep.busIdStringLength + 3) & ~3));
+ UnlockDisplay(dpy);
+ SyncHandle();
+@@ -300,9 +305,11 @@ XF86DRIGetClientDriverName(Display * dpy
+ *ddxDriverPatchVersion = rep.ddxDriverPatchVersion;
+
+ if (rep.length) {
+- if (!
+- (*clientDriverName =
+- (char *) Xcalloc(rep.clientDriverNameLength + 1, 1))) {
++ if (rep.clientDriverNameLength < INT_MAX)
++ *clientDriverName = Xcalloc(rep.clientDriverNameLength + 1, 1);
++ else
++ *clientDriverName = NULL;
++ if (*clientDriverName == NULL) {
+ _XEatData(dpy, ((rep.clientDriverNameLength + 3) & ~3));
+ UnlockDisplay(dpy);
+ SyncHandle();
diff --git a/graphics/libGL/files/extra-src_glx_x11_XF86dri.c b/graphics/libGL/files/extra-src_glx_x11_XF86dri.c
new file mode 100644
index 000000000000..1d082b54e21d
--- /dev/null
+++ b/graphics/libGL/files/extra-src_glx_x11_XF86dri.c
@@ -0,0 +1,38 @@
+--- src/glx/x11/XF86dri.c.orig 2009-06-17 18:35:16.000000000 +0000
++++ src/glx/x11/XF86dri.c 2013-05-29 10:09:37.000000000 +0000
+@@ -43,6 +43,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ #include <X11/extensions/Xext.h>
+ #include <X11/extensions/extutil.h>
+ #include "xf86dristr.h"
++#include <limits.h>
+
+
+ #if defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 303
+@@ -212,7 +213,11 @@ XF86DRIOpenConnection(Display * dpy, int
+ }
+
+ if (rep.length) {
+- if (!(*busIdString = (char *) Xcalloc(rep.busIdStringLength + 1, 1))) {
++ if (rep.busIdStringLength < INT_MAX)
++ *busIdString = Xcalloc(rep.busIdStringLength + 1, 1);
++ else
++ *busIdString = NULL;
++ if (*busIdString == NULL) {
+ _XEatData(dpy, ((rep.busIdStringLength + 3) & ~3));
+ UnlockDisplay(dpy);
+ SyncHandle();
+@@ -311,9 +316,11 @@ XF86DRIGetClientDriverName(Display * dpy
+ *ddxDriverPatchVersion = rep.ddxDriverPatchVersion;
+
+ if (rep.length) {
+- if (!
+- (*clientDriverName =
+- (char *) Xcalloc(rep.clientDriverNameLength + 1, 1))) {
++ if (rep.clientDriverNameLength < INT_MAX)
++ *clientDriverName = Xcalloc(rep.clientDriverNameLength + 1, 1);
++ else
++ *clientDriverName = NULL;
++ if (*clientDriverName == NULL) {
+ _XEatData(dpy, ((rep.clientDriverNameLength + 3) & ~3));
+ UnlockDisplay(dpy);
+ SyncHandle();