pkgsrc-Changes archive

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

CVS commit: pkgsrc/x11/xscreensaver



Module Name:    pkgsrc
Committed By:   wiz
Date:           Sat Jun  5 08:50:31 UTC 2021

Modified Files:
        pkgsrc/x11/xscreensaver: Makefile distinfo
Added Files:
        pkgsrc/x11/xscreensaver/patches: patch-driver_screens.c

Log Message:
xscreensaver: update to 5.45nb4.

Fix vulnerability when disconnecting screens.


To generate a diff of this commit:
cvs rdiff -u -r1.130 -r1.131 pkgsrc/x11/xscreensaver/Makefile
cvs rdiff -u -r1.82 -r1.83 pkgsrc/x11/xscreensaver/distinfo
cvs rdiff -u -r0 -r1.1 pkgsrc/x11/xscreensaver/patches/patch-driver_screens.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/x11/xscreensaver/Makefile
diff -u pkgsrc/x11/xscreensaver/Makefile:1.130 pkgsrc/x11/xscreensaver/Makefile:1.131
--- pkgsrc/x11/xscreensaver/Makefile:1.130      Mon May 24 19:56:06 2021
+++ pkgsrc/x11/xscreensaver/Makefile    Sat Jun  5 08:50:31 2021
@@ -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
 

Index: pkgsrc/x11/xscreensaver/distinfo
diff -u pkgsrc/x11/xscreensaver/distinfo:1.82 pkgsrc/x11/xscreensaver/distinfo:1.83
--- pkgsrc/x11/xscreensaver/distinfo:1.82       Mon Jan  4 23:51:41 2021
+++ pkgsrc/x11/xscreensaver/distinfo    Sat Jun  5 08:50:31 2021
@@ -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 @@ SHA512 (xscreensaver/xscreensaver-5.45.t
 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

Added files:

Index: pkgsrc/x11/xscreensaver/patches/patch-driver_screens.c
diff -u /dev/null pkgsrc/x11/xscreensaver/patches/patch-driver_screens.c:1.1
--- /dev/null   Sat Jun  5 08:50:31 2021
+++ pkgsrc/x11/xscreensaver/patches/patch-driver_screens.c      Sat Jun  5 08:50:31 2021
@@ -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