]> git.pld-linux.org Git - packages/SysVinit.git/commitdiff
- rel 2; fix time parsing https://savannah.nongnu.org/bugs/?57887 auto/th/SysVinit-2.96-2
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Thu, 27 Feb 2020 09:28:31 +0000 (10:28 +0100)
committerArkadiusz Miśkiewicz <arekm@maven.pl>
Thu, 27 Feb 2020 09:28:31 +0000 (10:28 +0100)
SysVinit.spec
time-parsing.patch [new file with mode: 0644]

index 5fb62b718efed5a6478b98f95de8b03f6fc55c22..d5551fc6a09027773809c689df4fe58c94853eb2 100644 (file)
@@ -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 (file)
index 0000000..1871646
--- /dev/null
@@ -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();
This page took 0.051478 seconds and 4 git commands to generate.