Hi,

the last commit to upssched.c (Merge Coverity branch, r3555) broke
upssched with commands that have a second argument.
If a command with a second argument is used, "enc" in line 697 is not an
empty buffer and  snprintfcat() just appends some stuff, i.e. the
following command
  CANCEL onbatt online
becomes
  onlineCANCEL "onbatt" "online"
and is then sent to the pipe-fd.

The attached patch replaces snprintfcat() with snprintf() and fixes the
problem.

Best,
  Oliver
-- 
Oliver Schonefeld
Institut für Deutsche Sprache, Zentrale Forschung
R5, 6-13, D-68161 Mannheim
+49-(0)621-1581-451 | http://www.ids-mannheim.de

diff -u -r nut-2.6.4.orig/clients/upssched.c nut-2.6.4/clients/upssched.c
--- nut-2.6.4.orig/clients/upssched.c   2012-05-11 10:29:33.000000000 +0200
+++ nut-2.6.4/clients/upssched.c        2012-07-03 16:22:24.000000000 +0200
@@ -694,7 +694,7 @@
                snprintfcat(buf, sizeof(buf), " \"%s\"",
                        pconf_encode(arg2, enc, sizeof(enc)));
 
-       snprintfcat(enc, sizeof(enc), "%s\n", buf);
+       snprintf(enc, sizeof(enc), "%s\n", buf);
 
        /* see if the parent needs to be started (and maybe start it) */
 
_______________________________________________
Nut-upsdev mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/nut-upsdev

Reply via email to