Acmcl2.1739
net.bugs.4bsd,net.bugs
utzoo!decvax!harpo!floyd!cmcl2!salkind
Thu May  6 15:02:37 1982
Two more uucp bugs
Two bugs I recently found in uucp.  There are up to six possible fields
that can be specified in the command file (the C. file).  For R (receive)
and X (remote uucp) commands, though, not all of the fields are set.
Unfortunately, some of the code assumes these fields are set.  What you
are left with are stray pointers that can cause a core dump.

Here are the fixes:


*** cntrl.c     Thu May  6 14:54:21 1982
--- cntrl.c.bak Thu May  6 14:53:54 1982
***************
*** 124,129
                       goto process;
               }
               wrktype = W_TYPE[0];

               DEBUG(4, "wrktype %c, ", wrktype);
               if (wrktype == XUUCP) {

--- 123,129 -----
                       goto process;
               }
               wrktype = W_TYPE[0];
+               mailopt = index(W_OPTNS, 'm') != NULL;

               DEBUG(4, "wrktype %c, ", wrktype);
               if (wrktype == XUUCP) {
***************
*** 137,144
                       logent(rqstr, "REQUEST");
                       goto sendmsg;
               }
-               mailopt = index(W_OPTNS, 'm') != NULL;

               ASSERT(i > 4, "ARG COUNT - %d\n", i);
               sprintf(msg, " %s %s %s %s %s %s",

--- 137,142 -----
                       logent(rqstr, "REQUEST");
                       goto sendmsg;
               }

               ASSERT(i > 4, "ARG COUNT - %d\n", i);
               sprintf(msg, " %s %s %s %s %s %s",
***************
*** 143,149
               ASSERT(i > 4, "ARG COUNT - %d\n", i);
               sprintf(msg, " %s %s %s %s %s %s",
                       W_FILE1, W_FILE2, W_USER,
!                       W_OPTNS, W_DFILE, i > 5 ? W_MODE : "");
               strcpy(User, W_USER);
               ASSERT(strlen(User) <= SPRINTF(RQSTR, , 141,147 ASSERT(I %S %S %S %S W_TYPE, 10, ----- --- USER - %S\N W_FILE1, USER);> 4, "ARG COUNT - %d\n", i);
               sprintf(msg, " %s %s %s %s %s %s",
                       W_FILE1, W_FILE2, W_USER,
!                       W_OPTNS, W_DFILE, W_MODE);
               strcpy(User, W_USER);
               ASSERT(strlen(User) <= SPRINTF(RQSTR, , %S %S %S %S W_TYPE, 10, CMCL2!SALKIND SALKIND </PRE USER - %S\N W_FILE1, USER); LOU>
<HR>
This Usenet Oldnews Archive
article may be copied and distributed freely, provided:
<P>
1. There is no money collected for the text(s) of the articles.
<BR>
2. The following notice remains appended to each copy:
<P>
<EM>The Usenet Oldnews Archive: Compilation Copyright&copy 1981, 1996
<BR> Bruce Jones, Henry Spencer, David Wiseman.</EM>
<P>
<HR>
Goto <A HREF="82.05.07_qumix.107_net.bugs.4bsd,net.bugs.v7.html">NEXT</A> article in NET.bugs.4bsd Newsgroup
<BR>Return to <A HREF="NET.bugs.4bsd-index.html">NET.bugs.4bsd index</A>
<BR>Return to the
       <A HREF="../index.html">Usenet Oldnews Archive index</A>
</HTML>

-----------------------------------------------------------------
gopher://quux.org/ conversion by John Goerzen <[email protected]>
of http://communication.ucsd.edu/A-News/


This Usenet Oldnews Archive
article may be copied and distributed freely, provided:

1. There is no money collected for the text(s) of the articles.

2. The following notice remains appended to each copy:

The Usenet Oldnews Archive: Compilation Copyright (C) 1981, 1996
Bruce Jones, Henry Spencer, David Wiseman.