[net.bugs.uucp] another uucp bug that has escaped detection

smk@axiom.UUCP (Steven M. Kramer) (02/17/84)

It's deferencing bizzareness.  In uuname, the components of argv[1]
are checked before it's established that that argument does indeed exist.
This is a dereferencing of NULL on the VAX, but in a weird way.
The fix follows below.  Note, I've seen this same code on many uucp
sources, so check yours.
	--steve kramer

*** /usr/src/usr.bin/uucp/uuname.c	Sat Jul  2 21:00:31 1983
--- uuname.c	Wed Feb 15 10:55:11 1984
***************
*** 39,44
  	signal(SIGQUIT, intrEXIT);
  	signal(SIGTERM, intrEXIT);
  
  	if(argv[1][0] == '-' && argv[1][1] == 'l') {
  		uucpname(s);
  		printf("%s\n",s);

--- 39,47 -----
  	signal(SIGQUIT, intrEXIT);
  	signal(SIGTERM, intrEXIT);
  
+ #ifdef AXIOM
+ 	if (argc == 2)
+ #endif
  	if(argv[1][0] == '-' && argv[1][1] == 'l') {
  		uucpname(s);
  		printf("%s\n",s);
-- 
	--steve kramer
	{allegra,genrad,ihnp4,utzoo,philabs,uw-beaver}!linus!axiom!smk	(UUCP)
	linus!axiom!smk@mitre-bedford					(MIL)