On 7 May 2001, John Henders wrote:
> I've run across a problem with the pipe transport where I had set a
> relatively long argument string and got an error message for it. the
> following was what showed in debug -9
>
> direct command after expansion:
> argv[0] = /export/home/andy/email2fax/email2fax
> argv[1] = -t
> argv[2] = -c
> argv[3] = /export/home/andy/email2fax/email2fax.conf
> argv[4] = -n
> argv[5] = 16048726601
> argv[6] = -u
> argv[7] = martin@???
> argv[8] = -b
> argv[9] = rome.yp.tgx
> set_process_info: 6469 **** string overflowed buffer ****
>
>
> I searched through the pipe transport in spec.txt and couldn't find any
> information on a size restriction on the command line argument space for
> exim's internal execution. None of these indivually looks very big and
> in total they are around 139 bytes. It seems the error comes from
> dummy.c but there the char buffer is defined as 1024, so I'm even more
> confused by that.
Hmm. The buffer for storing the process info (the output for "exiwhat")
is fairly small. It is defined as
#define PROCESS_INFO_SIZE 256
in the macros.h file. 256 is a lot bigger than 139, but Exim is adding
additional text, so that might explain it.
However, this error shouldn't affect any deliveries. All that is
supposed to happen is that the text for "exiwhat" becomes that error
text rather than the real text. Did you have any other problem?
I'll make the buffer bigger in Exim 4, and put the error message at the
end, thereby leaving the start.
[The code in dummies.c is used only in Exim utilities, not in Exim
itself.]
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.