From kenh@cmf.nrl.navy.mil Wed Feb 19 18:15:08 1997 Received: from MIT.EDU (SOUTH-STATION-ANNEX.MIT.EDU [18.72.1.2]) by rt-11.MIT.EDU (8.7.5/8.7.3) with SMTP id SAA24508 for ; Wed, 19 Feb 1997 18:15:07 -0500 Received: from ginger.cmf.nrl.navy.mil by MIT.EDU with SMTP id AA25392; Wed, 19 Feb 97 18:15:06 EST Received: from nexus.cmf.nrl.navy.mil (kenh@nexus.cmf.nrl.navy.mil [134.207.10.9]) by ginger.cmf.nrl.navy.mil (8.7.5/8.7.3) with ESMTP id SAA11947 for ; Wed, 19 Feb 1997 18:14:55 -0500 (EST) Received: (kenh@localhost) by nexus.cmf.nrl.navy.mil (8.7.5/8.6.11) id SAA11815; Wed, 19 Feb 1997 18:15:02 -0500 (EST) Message-Id: <199702192315.SAA11815@nexus.cmf.nrl.navy.mil> Date: Wed, 19 Feb 1997 18:15:02 -0500 (EST) From: Ken Hornstein Reply-To: kenh@cmf.nrl.navy.mil To: krb5-bugs@MIT.EDU Subject: Broken HP compiler needs extra function deref removed X-Send-Pr-Version: 3.99 >Number: 379 >Category: krb5-libs >Synopsis: An extra function pointer deref causes problems on HP/UX >Confidential: no >Severity: serious >Priority: low >Responsible: basch >State: closed >Class: sw-bug >Submitter-Id: unknown >Arrival-Date: Wed Feb 19 18:16:01 EST 1997 >Last-Modified: Wed Feb 19 22:16:50 EST 1997 >Originator: Ken Hornstein >Organization: Navel Research Lab >Release: 1.0 >Environment: System: HP-UX tuvok B.10.01 U 9000/735 Architecture: 9000/735 >Description: An extra function pointer dereference in krb5_calculate_checksum is causing core dumps under HP/UX with the native C compiler. See the discussion on krbdev for more info. >How-To-Repeat: Try using krb5_calculate_checksum under HP/UX >Fix: This patches fixes the problem. --- include/krb5.hin.orig Tue Dec 24 12:31:55 1996 +++ include/krb5.hin Wed Feb 19 08:55:28 1997 @@ -518,8 +518,8 @@ * Here's the stuff for the checksum switch: */ #define krb5_checksum_size(context, ctype) (krb5_cksumarray[ctype]->checksum_length) -#define krb5_calculate_checksum(context, ctype, in, in_length, seed, seed_length, outcksum) krb5_x(((*krb5_cksumarray[ctype]->sum_func)),(in, in_length, seed, seed_length, outcksum)) -#define krb5_verify_checksum(context, ctype, cksum, in, in_length, seed, seed_length) krb5_x((*krb5_cksumarray[ctype]->sum_verf_func),(cksum, in, in_length, seed, seed_length)) +#define krb5_calculate_checksum(context, ctype, in, in_length, seed, seed_length, outcksum) krb5_x(((krb5_cksumarray[ctype]->sum_func)),(in, in_length, seed, seed_length, outcksum)) +#define krb5_verify_checksum(context, ctype, cksum, in, in_length, seed, seed_length) krb5_x((krb5_cksumarray[ctype]->sum_verf_func),(cksum, in, in_length, seed, seed_length)) /* * encryption routine prototypes >Audit-Trail: >Unformatted: *** Wed Feb 19 22:08:39 EST 1997 *** probe This has already been dealt with in a different fashion in the mainline source tree. With the Windows/NT integration, these macros have already been changed to functions (with prototypes). In fact, none of the crypto library variables and data structures are defined in krb5.hin anymore... These changes should be present in the next major release of Kerberos. Patch releases against 1.0 may not have this fix...