Re: diald? -- Found it!
I have found the cause of diald's crash on startup. I believe it to
be a bug in, or improper use of, sccanf. When called as follows:
sscanf(line, "%s %d/%s", name, &serv, proto);
where line contains '#' followed by 79 or so '=', sscanf (I believe)
is attempting to place the entire string into name, even though it
does not match the pattern. Since name (and proto) are stack-based
strings 20 characters long, this wreaks total havoc. Someone with
more knowledge of sscanf than me will have to rule whether it is
sscanf or diald that is at fault here.
In any case, I don't have time to submit a proper diff right now, but
checking for and skipping comment lines in two (obvious) places in
function init_servs in utils.c works around the problem for me,
though this obviously does not catch all the possible error
conditions.
Now, the question is (bear with me, I'm new to Linux and Debian):
* what's the proper way to fix this?
* if it is indeed a bug in sscanf, how/to whom do I report it?
* If it is a bug in diald, to whom do I submit my diffs?
-Doug
---
Doug Larrick doug@ties.org doug.larrick@compaq.com AIM: DougLarick
Reply to: