On Fri, 19 Oct 2001, Daniel Drown wrote:
> vpopmail.c, function tcprules_open, line 2067 copies the uninitialized
> variable template to bin2:
> strncat( bin2, template, BUFF_SIZE);
> 
> That line should probably be removed.
> 
> Also, the relay_template variable seems to no longer be used in that file.

okay, here is my patch:
--- vpopmail.c  Mon Oct  8 12:09:12 2001
+++ vpopmail.c.new      Fri Oct 19 16:27:19 2001
@@ -2044,12 +2044,11 @@
 {
  int pim[2];
  long unsigned pid;
- char template[20];
 
        memset(bin0,0,BUFF_SIZE);
        memset(bin1,0,BUFF_SIZE);
        memset(bin2,0,BUFF_SIZE);
-       snprintf(relay_template, 300, ".tmp.%lu", (long unsigned)getpid());
+       snprintf(relay_template, 300, "%s.tmp.%lu", TCP_FILE, (long unsigned)getpid());
 
        if (pipe(pim) == -1)  { return(-1);}
 
@@ -2063,8 +2062,7 @@
                strncpy(bin0, TCPRULES_PROG, BUFF_SIZE);
                strncpy( bin1, TCP_FILE, BUFF_SIZE);
                strncat( bin1, ".cdb", BUFF_SIZE);
-               strncpy( bin2, TCP_FILE, BUFF_SIZE);
-               strncat( bin2, template, BUFF_SIZE);
+               strncpy( bin2, relay_template, BUFF_SIZE);
                binqqargs[0] = bin0;
                binqqargs[1] = bin1;
                binqqargs[2] = bin2;

Reply via email to