[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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 Larrick  doug@ties.org  doug.larrick@compaq.com  AIM: DougLarick

Reply to: