Well, i found at least one problem in ns_proxy so far, but it seems unrelated
to Tcl 8.5 and Alexey's problem.

nsproxy defines the structure Proxy as follows:

typedef struct Proxy {
   ....
   char id[16];        /* Proxy unique string id. */
   Proc *procPtr;        /* Running child process, if any. */
   ....
} Proxy;

later, the id is initialized by

  sprintf(proxyPtr->id, "%s-proxy-%d", poolPtr->name, poolPtr->nextid++);

The sprintf will cause a problem, if the pool name has more than 16-9 = 7 bytes. Since pool name is passed in via tcl, and its length is not checked, wierd things
are likely to happen (the procPtr will be overwritten).

For example, OpenACS does a

       set handle [ns_proxy get exec_proxy]

where len(exec_proxy)>7.

The quick fix is to change char id[16] to id[32], but actually, one should
check the length...

Unfortunately, this does not help in the original problem.

-gustaf neumann


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to 
<lists...@listserv.aol.com> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
field of your email blank.

Reply via email to