Hello everyone,

Since nobody seemed able to answer my question about "string overflowed 
buffer", I'll try to approach from a different angle: 

Does anybody knowledgeable with Exim source know how to increase the buffer for 
"command = ..." right-hand value in transport? 

Cause the current limitation bites me, and I need this working.

I have zero experience with patching/modifying Exim and really would not know 
without spending considerable time on this how to do this (reasonably safely). 
So I would appreciate a lot if somebody who has done this took a look if I do 
the right thing.

I found this source fragment:

/*************************************************
*            Set up processing details           *
*************************************************/

/* Save a text string for dumping when SIGUSR1 is received.
Do checks for overruns.

Arguments: format and arguments, as for printf()
Returns:   nothing
*/

void
set_process_info(char *format, ...)
{
int len;
va_list ap;
sprintf(CS process_info, "%5d ", (int)getpid());
len = Ustrlen(process_info);
va_start(ap, format);
if (!string_vformat(process_info + len, PROCESS_INFO_SIZE - len, format, ap))
  Ustrcpy(process_info + len, "**** string overflowed buffer ****");
DEBUG(D_process_info) debug_printf("set_process_info: %s\n", process_info);
va_end(ap);
}


Can I safely just increase PROCESS_INFO_SIZE in macros.h? Will it yield an 
effect I expect? Any undesireable side effects you can think of?

macros.h:

#define PROCESS_INFO_SIZE 256


I have some experience in C coding but nothing approaching the size and 
complexity of Exim...


  
--
Marcin Krol



-- 
## List details at http://lists.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to