pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/x11/xscreensaver xscreensaver: update to 5.45nb4.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/35b475f7b967
branches:  trunk
changeset: 454016:35b475f7b967
user:      wiz <wiz%pkgsrc.org@localhost>
date:      Sat Jun 05 08:50:31 2021 +0000

description:
xscreensaver: update to 5.45nb4.

Fix vulnerability when disconnecting screens.

diffstat:

 x11/xscreensaver/Makefile                       |   4 +-
 x11/xscreensaver/distinfo                       |   3 +-
 x11/xscreensaver/patches/patch-driver_screens.c |  37 +++++++++++++++++++++++++
 3 files changed, 41 insertions(+), 3 deletions(-)

diffs (71 lines):

diff -r 745da4e9b404 -r 35b475f7b967 x11/xscreensaver/Makefile
--- a/x11/xscreensaver/Makefile Sat Jun 05 08:43:54 2021 +0000
+++ b/x11/xscreensaver/Makefile Sat Jun 05 08:50:31 2021 +0000
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.130 2021/05/24 19:56:06 wiz Exp $
+# $NetBSD: Makefile,v 1.131 2021/06/05 08:50:31 wiz Exp $
 
 COMMENT=       Screen saver and locker for the X window system
-PKGREVISION=   3
+PKGREVISION=   4
 
 CONFLICTS+=    xscreensaver-gnome<4.14
 
diff -r 745da4e9b404 -r 35b475f7b967 x11/xscreensaver/distinfo
--- a/x11/xscreensaver/distinfo Sat Jun 05 08:43:54 2021 +0000
+++ b/x11/xscreensaver/distinfo Sat Jun 05 08:50:31 2021 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.82 2021/01/04 23:51:41 gutteridge Exp $
+$NetBSD: distinfo,v 1.83 2021/06/05 08:50:31 wiz Exp $
 
 SHA1 (xscreensaver/xscreensaver-5.45.tar.gz) = 933cd5451bdfc4a2bf15bc49f629a8c8665cae62
 RMD160 (xscreensaver/xscreensaver-5.45.tar.gz) = 4b7c1488db3f1f07e621fd175d1cb10388acee63
@@ -6,6 +6,7 @@
 Size (xscreensaver/xscreensaver-5.45.tar.gz) = 27729147 bytes
 SHA1 (patch-ad) = 675b8e30b08b64279d0112cdc7b202878736a6d1
 SHA1 (patch-af) = 4ee300a205a0ac448939ac2776087db48d808ad8
+SHA1 (patch-driver_screens.c) = 22d197b0ca42f531cdc4de5222c3e93f2877915a
 SHA1 (patch-hacks_Makefile.in) = 8dbc1c4674c1c10cdaa7954b019384505977cb69
 SHA1 (patch-hacks_images_Makefile.in) = bc071812df74cbb6826cfb65bad4dfcf94e0d68d
 SHA1 (patch-utils_Makefile.in) = 785112970eb71334d89e560b2b251e5053374748
diff -r 745da4e9b404 -r 35b475f7b967 x11/xscreensaver/patches/patch-driver_screens.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/x11/xscreensaver/patches/patch-driver_screens.c   Sat Jun 05 08:50:31 2021 +0000
@@ -0,0 +1,37 @@
+$NetBSD: patch-driver_screens.c,v 1.1 2021/06/05 08:50:31 wiz Exp $
+
+https://github.com/QubesOS/qubes-xscreensaver/blob/master/0001-Fix-updating-outputs-info.patch
+
+From c1e43f7fa01b7536bc90ad5a9b61c568f4db4dd1 Mon Sep 17 00:00:00 2001
+From: Marek Marczykowski-Górecki <marmarek%invisiblethingslab.com@localhost>
+Date: Tue, 18 May 2021 15:41:55 +0200
+Subject: [PATCH] Fix updating outputs info
+
+When an output is disconnected, update_screen_layout() will try to unset
+a property on window assigned to that output. It does that by iterating
+si->screens up to 'count', while 'good_count' signifies how many outputs
+are currently connected (good_count <= count). si->screens has few more
+entries allocated (at start 10), but if there are more disconnected
+outputs, the iteration will go beyond si->screens array.
+The only out of bound access there is reading window ID to delete
+property from, which in most cases will be a bogus number -> crashing
+xscreensaver with BadWindow error.
+
+Fix this by allocating array up to full 'count' entries, even if much
+fewer outputs are connected at the moment.
+
+
+--- driver/screens.c.orig      2020-07-29 22:32:11.000000000 +0000
++++ driver/screens.c
+@@ -1020,9 +1020,9 @@ update_screen_layout (saver_info *si)
+         calloc (sizeof(*si->screens), si->ssi_count);
+     }
+ 
+-  if (si->ssi_count <= good_count)
++  if (si->ssi_count <= count)
+     {
+-      si->ssi_count = good_count + 10;
++      si->ssi_count = count;
+       si->screens = (saver_screen_info *)
+         realloc (si->screens, sizeof(*si->screens) * si->ssi_count);
+       memset (si->screens + si->nscreens, 0, 



Home | Main Index | Thread Index | Old Index