This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: cygcheck bug when listing services (Was Re: Parallel writes to a single FIFO do not queue, and deadlock cygwin)
On Mon, Dec 05, 2005 at 09:40:01AM -0500, Igor Pechtchanski wrote:
> Running cygcheck under strace shows that after listing all the available
> services, it invokes "cygrunsrv --query grunsrv.exe --list", which results
> in the above message. I think this may be because the output of
> "cygrunsrv --list" doesn't contain a trailing '\n', and so strtok gets
> confused. The following patch (against a slightly older cygcheck) fixes
> it for me, but I haven't had the time to test it extensively:
>
> Index: cygcheck.cc
> ===================================================================
> RCS file: /cvs/src/src/winsup/utils/cygcheck.cc,v
> retrieving revision 1.77
> diff -u -p -r1.77 cygcheck.cc
> --- cygcheck.cc 17 Aug 2005 00:52:43 -0000 1.77
> +++ cygcheck.cc 5 Dec 2005 14:37:58 -0000
> @@ -950,8 +950,8 @@ dump_sysinfo_services ()
> else
> {
> /* read the output of --list, and then run --query for each service */
> - size_t nchars = fread ((void *) buf, 1, sizeof (buf) - 1, f);
> - buf[nchars] = 0;
> + size_t nchars = fread ((void *) buf, 1, sizeof (buf) - 2, f);
> + buf[nchars] = buf[nchars+1] = 0;
That needs a comment in the code.
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/