[1382] in Kerberos-V5-bugs
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;
}