inn 2.3.3 problems:

Russ Allbery rra at stanford.edu
Tue May 14 02:00:21 UTC 2002



Slava Filimonov <slava at corp.earthlink.net> writes:

> I've found next problems in INN 2.3.3:

> 1) innfeed/misc.c:

> dolog() -
> char *p  is not freed after use, this is memory leak!

Thanks, fixed.

> logOrPrint() -

> from 2.3.3 is using vsnprintf() which is not
> implemented on digital unix osf4 (althrough osf5.1 Tru64 does vsnprintf)

This is going to be a bit more annoying to fix.  I think the right way to
fix this is probably to backport the snprintf implementation from CURRENT
to 2.3.x.  I'll try to take a look at doing this.

> 2) using --with-perl and gcc causing configure script to pass
> perl ccopts "-fprm d -ieee -std" to gcc so make fails due to gcc
> errors. This problem is on digital unix platform, tru64 - osf4,osf5.1

You need to use the same compiler to build INN as you use to build Perl.
We need to make this clearer in the documentation.

> 3) in nnrpd/article.c:

> select(0,NULL,NULL,NULL,&waittime)

> is returning -1, errno==22 "bad arguments" on digital unix.
> This is not portable there and needs to be replaced with usleep().

Hm.  This is extremely portable to every other operating system that I've
ever used, and I believe is the required standard behavior for select().
That looks like a bad bug in Digital Unix to me.

The current POSIX standard states:

    If the readfds, writefds, and errorfds arguments are all null pointers
    and the timeout argument is not a null pointer, the pselect() or
    select() function shall block for the time specified, or until
    interrupted by a signal. If the readfds, writefds, and errorfds
    arguments are all null pointers and the timeout argument is a null
    pointer, the pselect() or select() function shall block until
    interrupted by a signal.

so this makes Digital Unix at the very least not POSIX compliant.  Are you
absolutely sure that this is what's breaking?  I really don't want to
change that call to anything else, because everything else is less
portable than using select() on other platforms.

-- 
Russ Allbery (rra at stanford.edu)             <http://www.eyrie.org/~eagle/>


More information about the inn-bugs mailing list