summaryrefslogtreecommitdiffstats
path: root/patches/source/sysstat/doinst.sh
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2022-11-09 22:16:30 +0000
committer Eric Hameleers <alien@slackware.com>2022-11-10 13:30:32 +0100
commitff521ad79255c7ffdb6220f0c6fe43064a44b31f (patch)
tree9017282923e32bdf6d6b5bc1fcf0a0d5ff30839b /patches/source/sysstat/doinst.sh
parent9cbb8ffdbc8f00ca9810b83200790f3d75985ff8 (diff)
downloadcurrent-ff521ad79255c7ffdb6220f0c6fe43064a44b31f.tar.gz
current-ff521ad79255c7ffdb6220f0c6fe43064a44b31f.tar.xz
Wed Nov 9 22:16:30 UTC 202220221109221630_15.0
patches/packages/sysstat-12.7.1-x86_64-1_slack15.0.txz: Upgraded. On 32 bit systems, in versions 9.1.16 and newer but prior to 12.7.1, allocate_structures contains a size_t overflow in sa_common.c. The allocate_structures function insufficiently checks bounds before arithmetic multiplication, allowing for an overflow in the size allocated for the buffer representing system activities. This issue may lead to Remote Code Execution (RCE). For more information, see: https://www.cve.org/CVERecord?id=CVE-2022-39377 (* Security fix *) patches/packages/xfce4-settings-4.16.4-x86_64-1_slack15.0.txz: Upgraded. Fixed an argument injection vulnerability in xfce4-mime-helper. For more information, see: https://www.cve.org/CVERecord?id=CVE-2022-45062 (* Security fix *)
Diffstat (limited to 'patches/source/sysstat/doinst.sh')
-rw-r--r--patches/source/sysstat/doinst.sh34
1 files changed, 34 insertions, 0 deletions
diff --git a/patches/source/sysstat/doinst.sh b/patches/source/sysstat/doinst.sh
new file mode 100644
index 000000000..b0f71a916
--- /dev/null
+++ b/patches/source/sysstat/doinst.sh
@@ -0,0 +1,34 @@
+
+# Since /etc/sysstat/sysstat used to be the init script and now it is
+# a config file, if we find an init script here, we have to move it
+# out of the way:
+if grep -wq "sadc was successfully launched" etc/sysstat/sysstat 1> /dev/null 2> /dev/null ; then
+ mv etc/sysstat/sysstat etc/sysstat/sysstat.obsolete.use.etc.rc.d.rc.sysstat
+fi
+
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+config etc/sysstat/sysstat.new
+
+# Keep same perms on rc.sysstat.new:
+if [ -e etc/rc.d/rc.sysstat ]; then
+ cp -a etc/rc.d/rc.sysstat etc/rc.d/rc.sysstat.new.incoming
+ cat etc/rc.d/rc.sysstat.new > etc/rc.d/rc.sysstat.new.incoming
+ mv etc/rc.d/rc.sysstat.new.incoming etc/rc.d/rc.sysstat.new
+fi
+
+# There's no reason for a user to edit rc.sysstat, so overwrite it:
+if [ -r etc/rc.d/rc.sysstat.new ]; then
+ mv etc/rc.d/rc.sysstat.new etc/rc.d/rc.sysstat
+fi
+