Folks,

I am trying to pass tests on HP-UX and have the following coredump with ASN.1 and PKINIT:
gmake[2]: Entering directory '/tmp/krb5/src/tests/asn.1'
cat ./reference_encode.out ./pkinit_encode.out \
         > expected_encode.out
SHLIB_PATH=`echo -L../../lib | sed -e "s/-L//g" -e "s/ /:/g"` 
KRB5_CONFIG=../../config-files/krb5.conf LC_ALL=C  ./krb5_encode_test > test.out
/bin/sh: 12405 Memory fault(coredump)
gmake[2]: *** [Makefile:672: check-encode] Error 139
gmake[2]: Leaving directory '/tmp/krb5/src/tests/asn.1'
gmake[1]: *** [Makefile:1209: check-recurse] Error 1
gmake[1]: Leaving directory '/tmp/krb5/src/tests'
gmake: *** [Makefile:1537: check-recurse] Error 1

Loaded the dump into gdb:
osipovmi@deblndw002x:/tmp/krb5/src/tests/asn.1 (master *%=)
$ gdb ./krb5_encode_test core
HP gdb 6.8 for HP Itanium (32 or 64 bit) and target HP-UX 11iv2 and 11iv3.
Copyright 1986 - 2011 Free Software Foundation, Inc.
Hewlett-Packard Wildebeest 6.8 (based on GDB) is covered by the
GNU General Public License. Type "show copying" to see the conditions to
change it and/or distribute copies. Type "show warranty" for warranty/support.
..
Core was generated by `krb5_encode_test'.
Program terminated with signal 11, Segmentation fault.
SEGV_MAPERR - Address not mapped to object
#0  0x60000000c8a788d0:0 in get_tag () at asn1_encode.c:370
370         o = *asn1++;
(gdb) bt all
No symbol "all" in current context.
(gdb) where
#0  0x60000000c8a788d0:0 in get_tag () at asn1_encode.c:370
#1  0x60000000c8a79f70:0 in split_der () at asn1_encode.c:605
#2  0x60000000c8a7b440:0 in encode_cntype () at asn1_encode.c:801
#3  0x60000000c8a7ab50:0 in encode_atype () at asn1_encode.c:696

Output from the executable:
encode_krb5_secure_cookie: 30 2C 02 04 2D F8 02 25 30 24 30 10 A1 03 02 01 0D 
A2 09 04 07 70 61 2D 64 61 74 61 30 10 A1 03 02 01 0D A2 09 04 07 70 61 2D 64 
61 74 61
encode_krb5_spake_factor(optionals NULL): 30 05 A0 03 02 01 01
encode_krb5_spake_factor: 30 0E A0 03 02 01 02 A1 07 04 05 66 64 61 74 61
encode_krb5_pa_spake(support): A0 0C 30 0A A0 08 30 06 02 01 01 02 01 02
encode_krb5_pa_spake(challenge): A1 2D 30 2B A0 03 02 01 01 A1 09 04 07 54 20 
76 61 6C 75 65 A2 19 30 17 30 05 A0 03 02 01 01 30 0E A0 03 02 01 02 A1 07 04 
05 66 64 61 74 61
encode_krb5_pa_spake(response): A2 34 30 32 A0 09 04 07 53 20 76 61 6C 75 65 A1 
25 30 23 A0 03 02 01 00 A1 03 02 01 05 A2 17 04 15 6B 72 62 41 53 4E 2E 31 20 
74 65 73 74 20 6D 65 73 73 61 67 65
encode_krb5_pa_spake(encdata): A3 25 30 23 A0 03 02 01 00 A1 03 02 01 05 A2 17 
04 15 6B 72 62 41 53 4E 2E 31 20 74 65 73 74 20 6D 65 73 73 61 67 65
Segmentation fault         (core dumped) ./krb5_encode_test

The crash happens here:
771 #ifndef DISABLE_PKINIT
772     /****************************************************************/
773     /* encode_krb5_pa_pk_as_req */
774     {
775         krb5_pa_pk_as_req req;
776         ktest_make_sample_pa_pk_as_req(&req);
777         encode_run(req, "pa_pk_as_req", "", acc.encode_krb5_pa_pk_as_req);
778         ktest_empty_pa_pk_as_req(&req);
779     }

I am a bit surprised that the application is not linked against OpenSSL. My OpenSSL version:
OpenSSL 3.0.17 1 Jul 2025 (Library: OpenSSL 3.0.17 1 Jul 2025)

How to investigate? Or should I ignore this failure?

Michael

________________________________________________
Kerberos mailing list           [email protected]
https://mailman.mit.edu/mailman/listinfo/kerberos

Reply via email to