[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Heimdal, gssapi, cyrus-sasl, segmentation fault


when running the gssapi module of sasl (1.5.15), it frequently causes
segmention fault. I have diagnosed the problem, but do not know what
library is at fault.

gdb reports
(gdb) bt
#0  0x401a5fdc in gss_delete_sec_context (minor_status=0xbffff658,
    context_handle=0x804cd64, output_token=0x0) at delete_sec_context.c:46
#1  0x4018d2ff in sasl_gss_free_context_contents (text=0x804cd60)
    at gssapi.c:386
#2  0x4018d388 in sasl_gss_dispose (conn_context=0x804cd60, utils=0x804c8b0)
    at gssapi.c:405
#3  0x4001b6a6 in client_dispose (pconn=0x804c780) at client.c:371
#4  0x4001860d in sasl_dispose (pconn=0x804b8cc) at common.c:238
#5  0x8048e4c in free_conn () at sample-client.c:106
#6  0x400c8a96 in exit () from /lib/libc.so.6
#7  0x8049295 in fail () at sample-client.c:317
#8  0x8049466 in samp_recv () at sample-client.c:390
#9  0x8049d56 in main (argc=17, argv=0xbffff950) at sample-client.c:751

note that the output_token=0x0. This is done deliberately by the
calling process:

386         maj_stat = gss_delete_sec_context (&min_stat,&text->gss_ctx,GSS_C_NO_BUFFER);

where GSS_C_NO_BUFFER is 0

however, this upsets gssapi:

46        output_token->length = 0;
47        output_token->value  = NULL;

So is gss_delete_sec_context() wrong for assuming a NON-null parameter,
or cyrus-sasl wrong for deliberately passing a NULL parameter?

Obviously, I have no idea, either, what these parameters are meant to
represent ;-).

Please CC copies back to me at this address.
Brian May <bam@snoopy.apana.org.au>