>Number:         5383
>Category:       general
>Synopsis:       tmpnam(NULL) doesn't work when -lpthread in link.
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    apache
>State:          open
>Class:          sw-bug
>Submitter-Id:   apache
>Arrival-Date:   Mon Nov 29 00:20:02 PST 1999
>Last-Modified:
>Originator:     [EMAIL PROTECTED]
>Organization:
apache
>Release:        1.3.9
>Environment:
HP-UX sirion B.11.00 A 9000/782 2005651274 two-user license
HP C/ANSI C Compiler B.11.01.06 
>Description:
Htpasswd, htdigest and mod_auth_digest use tmpnam(NULL), which won't
work in HP-UX 11 if -lpthread is in link. 

I got the following from HP's tech support:

"This is covered by the man page for tpmnam().

$ man tmpnam
....
   tmpnam()       Always generates a file name using the path-prefix
                  .....
                  in that array and returns s.  For multi-thread
                  applications, if s is a NULL pointer, the
                  operation is not performed and a NULL pointer is
                  returned.

ie for multi-threaded applications you need to supply the address of
the buffer tmpnam should use."
>How-To-Repeat:
I built apache with:
CC=cc CFLAGS="-g +e" \
./configure --prefix=/usr/local/apache_1.3.9 \
            --enable-module=rewrite
make

Now try to run htpasswd in src/support:

$ ./htpasswd -c test test
New password: ....
Re-type new password: ....
./htpasswd: unable to create temporary file
fopen: No such file or directory
>Fix:
Either remove -lpthread from LIBS in src/Configure (that's what I did
as I couldn't figure out any reason to use -lpthread in link phase)
or if it is needed to link with -lpthread provide a pointer 
(to array of at leas L_tmpnam bytes) to tmpnam call.
>Audit-Trail:
>Unformatted:
[In order for any reply to be added to the PR database, you need]
[to include <[EMAIL PROTECTED]> in the Cc line and make sure the]
[subject line starts with the report component and number, with ]
[or without any 'Re:' prefixes (such as "general/1098:" or      ]
["Re: general/1098:").  If the subject doesn't match this       ]
[pattern, your message will be misfiled and ignored.  The       ]
["apbugs" address is not added to the Cc line of messages from  ]
[the database automatically because of the potential for mail   ]
[loops.  If you do not include this Cc, your reply may be ig-   ]
[nored unless you are responding to an explicit request from a  ]
[developer.  Reply only with text; DO NOT SEND ATTACHMENTS!     ]



Reply via email to