[1382] in Kerberos-V5-bugs

home help back first fref pref prev next nref lref last post

Re: krb5.b5 ksu core dump

daemon@ATHENA.MIT.EDU (epeisach@MIT.EDU)
Tue May 9 16:08:42 1995

From: epeisach@MIT.EDU
Date: Tue, 9 May 1995 16:08:19 -0400
To: wolfgang@wsrcc.com (Wolfgang Rupprecht)
Cc: krb5-bugs@MIT.EDU
In-Reply-To: [1376]


Thank you for your bug report with ksu. I have some good news and some
bad news about your report.

The good news is that the change is now in the source tree.
The bad news is a) gcc 2.6.3 did not pick up on the problem either and
b) There are even more problems. I think I got them all now.

I am enclosing the patch I just put in the tree. Ksu now passes my
simple tests, but if you find anything else missed by the compiler, let
us know.

	Ezra Peisach

Index: ChangeLog
===================================================================
RCS file: /mit/krb5/.cvsroot/src/clients/ksu/ChangeLog,v
retrieving revision 1.18
diff -c -r1.18 ChangeLog
*** ChangeLog	1995/03/17 04:53:11	1.18
--- ChangeLog	1995/05/09 20:00:35
***************
*** 1,3 ****
--- 1,12 ----
+ Tue May  9 15:52:15 1995  Ezra Peisach  <epeisach@kangaroo.mit.edu>
+ 
+ 	* heuristic.c (get_best_princ_for_target): Missing context cuased
+ 		coredump. 
+ 		(get_best_princ_for_target): Missing contexts in call to
+ 		 		find_either_ticket. 
+ 		(find_either_ticket): Missing context in call of find_ticket
+ 		(get_best_princ_for_target): Add missing context
+ 
  Thu Mar 16 20:50:32 1995  John Gilmore  (gnu at toad.com)
  
  	* configure.in:  Replace CHECK_STDARG with AC_CHECK_HEADERS.
Index: heuristic.c
===================================================================
RCS file: /mit/krb5/.cvsroot/src/clients/ksu/heuristic.c,v
retrieving revision 1.5
diff -c -r1.5 heuristic.c
*** heuristic.c	1995/01/13 22:00:44	1.5
--- heuristic.c	1995/05/09 20:02:48
***************
*** 417,423 ****
  
  if ( ! stat(cc_source_name, &st_temp)){
  
! 	if (retval = find_ticket (cc, client, end_server, &temp_found)) {
  		return retval;
  	}
   	
--- 417,423 ----
  
  if ( ! stat(cc_source_name, &st_temp)){
  
! 	if (retval = find_ticket (context, cc, client, end_server, &temp_found)) {
  		return retval;
  	}
   	
***************
*** 430,436 ****
         		           return retval ;
    		}
  
! 		if(retval = find_ticket (cc,client, kdc_server, &temp_found)) {
  			return retval;
  		}
  	}
--- 430,436 ----
         		           return retval ;
    		}
  
! 		if(retval = find_ticket (context, cc,client, kdc_server, &temp_found)) {
  			return retval;
  		}
  	}
***************
*** 684,697 ****
  
  for (i= 0; i < count; i ++){      
     if(princ_trials[i].p){	
! 	if (retval= find_princ_in_list(princ_trials[i].p, aplist, &found)){
  		return retval;	
  	}
  	
  	if ( found == TRUE){     
  		princ_trials[i].found = TRUE; 
  
!  		if (retval = find_either_ticket (cc_source, princ_trials[i].p,
  					 end_server, &found)){ 
  			return retval;
  		}
--- 684,697 ----
  
  for (i= 0; i < count; i ++){      
     if(princ_trials[i].p){	
! 	if (retval= find_princ_in_list(context, princ_trials[i].p, aplist, &found)){
  		return retval;	
  	}
  	
  	if ( found == TRUE){     
  		princ_trials[i].found = TRUE; 
  
!  		if (retval = find_either_ticket (context, cc_source, princ_trials[i].p,
  					 end_server, &found)){ 
  			return retval;
  		}
***************
*** 716,722 ****
  		return retval;
          }  
  
! 	if (retval = find_either_ticket (cc_source, temp_client,
  				 end_server, &found)){ 
  		return retval;
  	}
--- 716,722 ----
  		return retval;
          }  
  
! 	if (retval = find_either_ticket (context, cc_source, temp_client,
  				 end_server, &found)){ 
  		return retval;
  	}
***************
*** 762,768 ****
  		/* get the client name that is the closest
  		  to the three princ in trials */
  
! 		if(retval=get_closest_principal(aplist, &temp_client, & found)){
  			return retval; 	
  		}
  
--- 762,768 ----
  		/* get the client name that is the closest
  		  to the three princ in trials */
  
! 		if(retval=get_closest_principal(context, aplist, &temp_client, & found)){
  			return retval; 	
  		}
  

home help back first fref pref prev next nref lref last post