[packages/SysVinit] - rel 2; fix time parsing https://savannah.nongnu.org/bugs/?57887

arekm arekm at pld-linux.org
Thu Feb 27 10:28:41 CET 2020


commit 2b6bdadcbd766f8c29d411a1c99627959dd8b809
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Thu Feb 27 10:28:31 2020 +0100

    - rel 2; fix time parsing https://savannah.nongnu.org/bugs/?57887

 SysVinit.spec      |  6 +++---
 time-parsing.patch | 26 ++++++++++++++++++++++++++
 2 files changed, 29 insertions(+), 3 deletions(-)
---
diff --git a/SysVinit.spec b/SysVinit.spec
index 5fb62b7..d5551fc 100644
--- a/SysVinit.spec
+++ b/SysVinit.spec
@@ -13,7 +13,7 @@ Summary(tr.UTF-8):	System V başlatma programı
 Summary(uk.UTF-8):	Програми, що керують базовими системними процесами
 Name:		SysVinit
 Version:	2.96
-Release:	1
+Release:	2
 License:	GPL v2+
 Group:		Base
 Source0:	http://download.savannah.gnu.org/releases/sysvinit/sysvinit-%{version}.tar.xz
@@ -25,7 +25,7 @@ Source3:	crypttab.5
 Patch0:		sysvinit-paths.patch
 Patch1:		sysvinit-bequiet.patch
 Patch2:		sysvinit-wtmp.patch
-
+Patch3:		time-parsing.patch
 Patch4:		sysvinit-halt.patch
 Patch5:		sysvinit-autofsck.patch
 
@@ -130,7 +130,7 @@ Ten pakiet zawiera różne narzędzia do zarządzania procesami.
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
-
+%patch3 -p1
 %patch4 -p1
 %patch5 -p1
 
diff --git a/time-parsing.patch b/time-parsing.patch
new file mode 100644
index 0000000..1871646
--- /dev/null
+++ b/time-parsing.patch
@@ -0,0 +1,26 @@
+--- sysvinit-2.96/src/shutdown.c.org	2020-02-24 14:20:54.265362805 +0100
++++ sysvinit-2.96/src/shutdown.c	2020-02-27 10:24:16.865892277 +0100
+@@ -778,16 +778,18 @@ int main(int argc, char **argv)
+ 	if (!strcmp(when, "now")) strcpy(when, "0");
+ 
+         sp = when;
+-	if (when[0] == '+') sp++;
+-	/* Decode shutdown time. */
++	/* Validate time argument. */
+ 	for ( ; *sp; sp++) {
+-		if (*sp != ':' && (*sp < '0' || *sp > '9'))
++		if (*sp != '+' && *sp != ':' && (*sp < '0' || *sp > '9'))
+ 			usage();
+ 	}
++	sp = when;
++	/* Decode shutdown time. */
++	if (when[0] == '+') sp++;
+ 	if (strchr(when, ':') == NULL) {
+ 		/* Time in minutes. */
+-		wt = atoi(when);
+-		if (wt == 0 && when[0] != '0') usage();
++		wt = atoi(sp);
++		if (wt == 0 && sp[0] != '0') usage();
+ 	} else {
+ 		/* Time in hh:mm format. */
+ 		if (sscanf(when, "%d:%2d", &hours, &mins) != 2) usage();
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/SysVinit.git/commitdiff/2b6bdadcbd766f8c29d411a1c99627959dd8b809



More information about the pld-cvs-commit mailing list