BUG in art.c:2284 ARTpost() causes core

Andrew McNamara andrewm at connect.com.au
Fri Nov 19 04:21:08 UTC 1999


>} I tried something like this first up, but the null list comes about as
>} a result of DISTparse() cleaning the list. You need to move the call to
>} DISTparse() above the check on the first element of the list.
>
>Exactly.  I should have checked the patch more carefully.
>I believe attached would fix.  Just committed.

I still don't think this is right - the test should be:

	if (distributions[0] == NULL)

BUT - the null list comes about as a result of the call to DISTparse(),
so the check must occur after this.

>--- innd/art.c.orig	Fri Nov 19 10:21:19 1999
>+++ innd/art.c	Fri Nov 19 10:21:52 1999
>@@ -2127,7 +2127,7 @@
>     p = HDR(_distribution);
>     distributions = *p ? CommaSplit(p) : NULL;
>     if (distributions) {
>-      if (distributions[0] == '\0') {
>+      if (*distributions[0] == '\0') {
> 	(void)sprintf(buff, "%d bogus distribution \"%s\"",
> 		NNTP_REJECTIT_VAL,
> 		MaxLength(p, p));
>
>
>-- 
>Katsuhiro Kondou
>
>
 ---
Andrew McNamara (System Architect)

connect.com.au Pty Ltd
Lvl 3, 213 Miller St, North Sydney, NSW 2060, Australia
Phone: +61 2 9409 2117, Fax: +61 2 9409 2111


More information about the inn-workers mailing list