diff options
author | tnn <tnn@pkgsrc.org> | 2015-12-11 13:08:21 +0000 |
---|---|---|
committer | tnn <tnn@pkgsrc.org> | 2015-12-11 13:08:21 +0000 |
commit | 087f2c4ffc9041974f849f1f5f9b432223280ff7 (patch) | |
tree | b4a317151e1741249c446a089c658309fe4ec5ca | |
parent | 33fa36144003a1124e2d462236bde0940a4def95 (diff) | |
download | pkgsrc-087f2c4ffc9041974f849f1f5f9b432223280ff7.tar.gz |
Fix use of uninitialized pointers. Fixes Xorg SEGV when compiled with clang.
-rw-r--r-- | x11/xf86-video-ati/Makefile | 3 | ||||
-rw-r--r-- | x11/xf86-video-ati/distinfo | 4 | ||||
-rw-r--r-- | x11/xf86-video-ati/patches/patch-src_radeon__drm__queue.c | 42 |
3 files changed, 46 insertions, 3 deletions
diff --git a/x11/xf86-video-ati/Makefile b/x11/xf86-video-ati/Makefile index 15f81c04309..8c509a306e1 100644 --- a/x11/xf86-video-ati/Makefile +++ b/x11/xf86-video-ati/Makefile @@ -1,6 +1,7 @@ -# $NetBSD: Makefile,v 1.33 2015/11/12 16:23:09 wiz Exp $ +# $NetBSD: Makefile,v 1.34 2015/12/11 13:08:21 tnn Exp $ DISTNAME= xf86-video-ati-7.6.1 +PKGREVISION= 1 CATEGORIES= x11 MASTER_SITES= ${MASTER_SITE_XORG:=driver/} EXTRACT_SUFX= .tar.bz2 diff --git a/x11/xf86-video-ati/distinfo b/x11/xf86-video-ati/distinfo index f74fe2b1f52..ce868f7d385 100644 --- a/x11/xf86-video-ati/distinfo +++ b/x11/xf86-video-ati/distinfo @@ -1,8 +1,8 @@ -$NetBSD: distinfo,v 1.21 2015/11/12 16:23:09 wiz Exp $ +$NetBSD: distinfo,v 1.22 2015/12/11 13:08:21 tnn Exp $ SHA1 (xf86-video-ati-7.6.1.tar.bz2) = b517c7fc8e7df0fb0ece0c9a5446b092ec944479 RMD160 (xf86-video-ati-7.6.1.tar.bz2) = beb0dcf6b17d0a89602add06036e9230d81b8b43 SHA512 (xf86-video-ati-7.6.1.tar.bz2) = b829b1db2088161a2486f396a9b36afd6fbbc765fb495450fb1c2de33951e6270c7ef6665c8275c66dfc6509af71b9882c342d236fc0537ff0dde117683c4891 Size (xf86-video-ati-7.6.1.tar.bz2) = 823043 bytes -SHA1 (patch-src_radeon__dri2.c) = 907f29999a8889dcf764c78d2786989e5ed914a4 +SHA1 (patch-src_radeon__drm__queue.c) = 22c2843364c49294073248be8f60b046229558b5 SHA1 (patch-src_radeon__kms.c) = 0f0cbf99644711983e31242b6d756a668d18fee5 diff --git a/x11/xf86-video-ati/patches/patch-src_radeon__drm__queue.c b/x11/xf86-video-ati/patches/patch-src_radeon__drm__queue.c new file mode 100644 index 00000000000..c75ac94d15e --- /dev/null +++ b/x11/xf86-video-ati/patches/patch-src_radeon__drm__queue.c @@ -0,0 +1,42 @@ +$NetBSD: patch-src_radeon__drm__queue.c,v 1.1 2015/12/11 13:08:22 tnn Exp $ + +Fix use of uninitialized pointers. Fixes Xorg SEGV when compiled with clang. + +--- src/radeon_drm_queue.c.orig 2015-11-12 02:57:33.000000000 +0000 ++++ src/radeon_drm_queue.c +@@ -59,7 +59,7 @@ radeon_drm_queue_handler(int fd, unsigne + unsigned int usec, void *user_ptr) + { + struct radeon_drm_queue_entry *user_data = user_ptr; +- struct radeon_drm_queue_entry *e, *tmp; ++ struct radeon_drm_queue_entry *e = NULL, *tmp; + + xorg_list_for_each_entry_safe(e, tmp, &radeon_drm_queue, list) { + if (e == user_data) { +@@ -119,7 +119,7 @@ radeon_drm_abort_one(struct radeon_drm_q + void + radeon_drm_abort_client(ClientPtr client) + { +- struct radeon_drm_queue_entry *e, *tmp; ++ struct radeon_drm_queue_entry *e = NULL, *tmp; + + xorg_list_for_each_entry_safe(e, tmp, &radeon_drm_queue, list) { + if (e->client == client) +@@ -142,7 +142,7 @@ radeon_drm_abort_entry(struct radeon_drm + void + radeon_drm_abort_id(uint64_t id) + { +- struct radeon_drm_queue_entry *e, *tmp; ++ struct radeon_drm_queue_entry *e = NULL, *tmp; + + xorg_list_for_each_entry_safe(e, tmp, &radeon_drm_queue, list) { + if (e->id == id) { +@@ -170,7 +170,7 @@ radeon_drm_queue_init() + void + radeon_drm_queue_close(ScrnInfoPtr scrn) + { +- struct radeon_drm_queue_entry *e, *tmp; ++ struct radeon_drm_queue_entry *e = NULL, *tmp; + + xorg_list_for_each_entry_safe(e, tmp, &radeon_drm_queue, list) { + if (e->scrn == scrn) |