Hello community, here is the log from the commit of package corosync for openSUSE:Factory checked in at 2018-01-03 13:38:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/corosync (Old) and /work/SRC/openSUSE:Factory/.corosync.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "corosync" Wed Jan 3 13:38:37 2018 rev:51 rq:561247 version:2.4.3 Changes: -------- --- /work/SRC/openSUSE:Factory/corosync/corosync.changes 2017-12-08 12:55:01.806794557 +0100 +++ /work/SRC/openSUSE:Factory/.corosync.new/corosync.changes 2018-01-03 13:38:39.824728422 +0100 @@ -1,0 +2,12 @@ +Tue Jan 2 06:15:29 UTC 2018 - bliu@suse.com + +- qdevice failed to run(bsc#1074276) + Added: 0010-qdevice-mv-free-str-after-port-validation.patch + +------------------------------------------------------------------- +Wed Dec 27 05:49:39 UTC 2017 - bliu@suse.com + +- add support for corosync-qdevice in yast2-cluster and bootstrap(bsc#1070961) + Added: 0009-add-config-for-corosync-qnetd.patch + +------------------------------------------------------------------- New: ---- 0009-add-config-for-corosync-qnetd.patch 0010-qdevice-mv-free-str-after-port-validation.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ corosync.spec ++++++ --- /var/tmp/diff_new_pack.W6aMIQ/_old 2018-01-03 13:38:40.584475443 +0100 +++ /var/tmp/diff_new_pack.W6aMIQ/_new 2018-01-03 13:38:40.588474112 +0100 @@ -1,7 +1,7 @@ # # spec file for package corosync # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -70,6 +70,8 @@ Patch13: 0006-Fix-compile-warnings-with-GCC-7.2.1.patch Patch14: 0007-sync-Call-sync_init-of-all-services-at-once.patch Patch15: 0008-wd-fix-snprintf-warnings.patch +Patch16: 0009-add-config-for-corosync-qnetd.patch +Patch17: 0010-qdevice-mv-free-str-after-port-validation.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build # openais is indeed gone and should be uninstalled. Yes, we do not @@ -150,6 +152,8 @@ %patch13 -p1 %patch14 -p1 %patch15 -p1 +%patch16 -p1 +%patch17 -p1 %build %if %{with runautogen} ++++++ 0009-add-config-for-corosync-qnetd.patch ++++++ --- corosync-2.4.3.orig/init/corosync-qnetd.sysconfig.example 2017-09-21 23:14:59.000000000 +0800 +++ corosync-2.4.3/init/corosync-qnetd.sysconfig.example 2017-12-27 13:39:01.024262758 +0800 @@ -3,7 +3,7 @@ # COROSYNC_QNETD_OPTIONS specifies options passed to corosync-qnetd command # (default is no options). # See "man corosync-qnetd" for detailed descriptions of the options. -COROSYNC_QNETD_OPTIONS="" +COROSYNC_QNETD_OPTIONS="-4 -l 0.0.0.0 -p 5403 -s off" # COROSYNC_QNETD_RUNAS specifies user under which qnetd daemon should be running # (not set or empty is default and means "user who executes init script") ++++++ 0010-qdevice-mv-free-str-after-port-validation.patch ++++++
From 60d419917ac5a64abe8539bedb9fd57af1451ff5 Mon Sep 17 00:00:00 2001 From: Bin Liu
Date: Wed, 27 Dec 2017 18:21:34 +0800 Subject: [PATCH] qdevice: mv free(str) after port validation
in the previous code of qdevice_net_instance_init_from_cmap: host_port = strtol(str, &ep, 10); free(str); if (host_port <= 0 || host_port > ((uint16_t)~0) || *ep != '\0') before free, *ep is '\0'. But after free, *ep changed to 'U', so mv free behind the comparison. --- qdevices/qdevice-net-instance.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/qdevices/qdevice-net-instance.c b/qdevices/qdevice-net-instance.c index 7adcaa3f..e4b7b04d 100644 --- a/qdevices/qdevice-net-instance.c +++ b/qdevices/qdevice-net-instance.c @@ -274,12 +274,12 @@ qdevice_net_instance_init_from_cmap(struct qdevice_instance *instance) if (cmap_get_string(cmap_handle, "quorum.device.net.port", &str) == CS_OK) { host_port = strtol(str, &ep, 10); - free(str); - if (host_port <= 0 || host_port > ((uint16_t)~0) || *ep != '\0') { qdevice_log(LOG_ERR, "quorum.device.net.port must be in range 0-65535"); + free(str); goto error_free_host_addr; } + free(str); } else { host_port = QNETD_DEFAULT_HOST_PORT; } -- 2.13.6