[Toybox] [PATCH] logger.c was failing to properly log local0-local6 facilities, due to a string parsing error. This patch enables proper local facility handling.

Chris Sarra chrissarra at google.com
Tue Sep 8 12:16:47 PDT 2020


---
 toys/posix/logger.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/toys/posix/logger.c b/toys/posix/logger.c
index 3bcfb174..d1cc7291 100644
--- a/toys/posix/logger.c
+++ b/toys/posix/logger.c
@@ -64,9 +64,10 @@ void logger_main(void)
     else {
       *s1++ = len = 0;
       facility = arrayfind(TT.p, facilities, ARRAY_LEN(facilities));
-      if (facility == -1 && strncasecmp(TT.p, "local", 5)) {
-        facility = s1[5]-'0';
-        if (facility>7 || s1[6]) facility = -1;
+      if (facility == -1 && strncasecmp(TT.p, "local", 5) == 0) {
+        s2 = TT.p;
+        facility = s2[5]-'0';
+        if (facility>7 || s2[6]) facility = -1;
         if (facility>=0) facility += 16;
       }
       if (facility<0) error_exit("bad facility: %s", TT.p);
-- 
2.28.0.526.ge36021eeef-goog



More information about the Toybox mailing list